[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
unspecial & global & macrolet
I don't much care whether DEFGLOBAL exists. But I will lobby for a
(declare (unspecial ...)) or (declare (lexical ...)), which provides the
sorely needed ability to do an assured lexical binding, independent of
the existence of a global special binding.
Does anyone have objections to the addition of an unspecial declaration?
I have asked about this twice before and haven't had any replies,
although I know there must be SOME reason it isn't in CLtL, since
Maclisp and the various Lisp Machine Lisps have it, and it must have
been considered.
I guess one objection is that for symmetry there ought to be a (proclaim
'(lexical ...)) to go with (declare (lexical ...)), and then we're
back to arguing about DEFGLOBAL again. But Common Lisp doesn't strike
me as a language in which symmetry and orthogonality play important
roles, so I don't see that this objection carries much weight; you could
have one and not the other.
---
I actually make good use of MACROLET; I think it's too late to eradicate
it, since many other users will be depending on it also.
Jonathan