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


I don't really like proposal LG very much.  I gather from the discussion
that there was also a proposal LDG around at one time?  

This issue appears to be addressing what I consider to be actually two
separate problems.  The first problem is a way to undo SPECIAL
declarations.  Wasn't there once a proposal for an UNSPECIAL
declaration to deal with this? 

The second problem is a way to specify a "global lexical variable".
To me that implies something very much like what is specified for the
binding behavior of DEFCONSTANT (it specifies a separate set of
restrictions on SETQ'ing).  I've thought for a long time that Common
Lisp ought to provide a declaration for variable binding corresponding
to what DEFCONSTANT does.  Why not assign that meaning to the LEXICAL
declaration, or maybe call it GLOBAL if people object to using
LEXICAL?  (The behavior of DEFCONSTANT is actually pretty close to
what "GLOBAL" variables in PSL were like.) I suppose people would want
an UNGLOBAL too.... 

The thing about proposal LG that strikes me as being the most
confusing to users and troublesome to implementors is allowing access
to both the dynamic and global value of the same variable.  I think it
would be reasonable to make the two mutually exclusive. 

Finally, a comment on the existing writeup.  Given all the different
proposals on the interpretation of declarations that are floating
around, I had a hard time understanding the second example.  It would
be nice if the writeup stated which rules are being used.