- From: <bugzilla@wiggum.w3.org>
- Date: Fri, 15 Jul 2005 00:06:53 +0000
- To: public-qt-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=1610 Summary: don't environments behave like a stack? why not say so? Product: XPath / XQuery / XSLT Version: Last Call drafts Platform: PC OS/Version: Windows 2000 Status: NEW Severity: normal Priority: P2 Component: Formal Semantics AssignedTo: simeon@us.ibm.com ReportedBy: fred.zemke@oracle.com QAContact: public-qt-comments@w3.org 2.1.4 Notations for environments It says "Also, note that there are no operations to remove entries from environments. This is never necessary as updating an environment effectively creates a new extended copy of the original environment, leaving the original environment accessible wherever it is in scope along with the updated copy." So which copy is used in case of a conflict? Example: an outer scope has a variable named $v and an inner scope creates a new variable named $v with a different value. So which value is accessed? I think the truth is that creation of a new environment completely occludes the old environment, so it is not true to say that both the old and the new environment are accessible. I think the behavior is actually a stack, and only the top environment on a stack is used. When the scope that created the top environment exits, then that environment is popped from the stack, bringing the outer environment back into visibility. I think that expressing the behavior in this fashion would be both more correct and more understandable.
Received on Friday, 15 July 2005 00:06:55 UTC