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

Issue DEFCONSTANT-NOT-WIRED



Unless anybody is really strongly in favor of this proposal, I would
like to try to resolve this issue without introducing another defining
macro by having the description of DEFPARAMETER in the standard make
it clear that it's supposed to be used in the situations described in
the "problem description" part of the proposal.

Note that CLtL says only that "it is an error" to SETQ or rebind a symbol
which has been declared with DEFCONSTANT.  It does not say "an error is
signalled".

CLtL says that a change to a DEFPARAMETER'ed variable should be
considered a change to the program.  There are lots of other
situations where making a change to the program might cause situations
that "are an error", such as redefining a function as a macro.
Although CLtL does not explicitly allow or disallow it, some (many?)
implementations choose to issue warnings in such cases.  Therefore I
think it is legitimate both for users to use DEFPARAMETER for
situations where an error may result if the variable is changed, and
for implementations to be allowed (but not required) to issue warnings
about changing the values of DEFPARAMETER'ed variables.

If anybody believes it is important to write this up as a formal
proposal so that we can vote on it, I'm willing to do so, but I think
it would expedite matters if we could just pass this on directly to
the editorial committee. 

-Sandra
-------