[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