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

Re: Issue: PROCLAIM-LEXICAL (Version 5)

What I remember about the discussion in Denver is fading quickly. 

I remember that there's a problem with CONSTANT, in that (DEFCONSTANT X
...) can't expand into (PROCLAIM '(CONSTANT X)) followed by setting X
because it would be an error to set it after it was proclaimed constant,
and it can't do the set first and the proclaim second, because it is an
error to set it if it isn't declared, and you can't first proclaim it
global and then constant because it is an error to change the
proclaimation of a variable.

There was a lot of confusion about the proposal because people didn't
understand GLOBAL; in particular, there was lots of grumbling about the
example, where even though a variable was proclaimed lexical and there
was a lexical reference to it, a SPECIAL binding could still overwrite
the definition. 

There was a lot of grumbling that the notion of "global LEXICAL" was a
contradiction, because "lexical" usually meant "limited scope" and that
you could tell when the scope started and ended, but in the case of what
we were calling global lexical, there was no way to terminate the scope.
There was some mumbling about making a "file" have a global lexical
scope or some way of terminating a global lexical scope at the "top
level" etc. etc., but it was all at the level of mumble.

Frankly, I think these are pretty serious problems...