[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Issue: PROCLAIM-LEXICAL



I believe that the deep-binders would be satisfied with top-level 
environment being called "global lexical", providing that the "global 
special" (or, "global fluid" if you will) is the same.  The main issue 
is: What does a special reference mean when there is no dynamically 
intervening special binding?   Is it ok for it to access the "global
lexical" binding?  I wouldn't want to go so far as to make an alternative 
proposal, providing you agree that this is no problem with the single
top-level environment.   [Larry -- could you volunteer some opinion?
This issue will probably affect Xerox's Lisp the most?].  

Re: Getting back to terminology: why do you think LOCAL is a better name
    than LEXICAL?  LEXICAL seems more general and more descriptive ...
To me, "lexical" means "lexically apparent", or "lexically constrained".
In the example:
     (DEFUN FOO (X) (DECLARE (SPECIAL X))  (LIST (BAR X) (BAR X)))
both instances of "X" in the calls to "BAR" are "lexical" with respect
to its binding;  but "X" isn't lexically bound, it is dynamically bound.
[Note also; it is not "free".]   Consider the (free) occurances of "X" in 
some other module, which in fact might access the value of this binding; 
they are not "lexically apparent".  For this reason -- wanting to talk 
about lexical context and not imply anything about the bindings of 
variables therein -- I tend to prefer another term for the opposite of 
SPECIAL.  But I'm not at all enamored with the term LOCAL, or even
UNSPECIAL;  LEXICAL would be ok as long as the documentation clearly 
stressed this point.  


-- JonL --