Subject: Re: Can LET* reuse variables?
From: Erik Naggum <erik@naggum.no>
Date: 1995/10/07
Newsgroups: comp.lang.lisp
Message-ID: <19951007T043328Z@naggum.no>

[Andrew Philpot]

|   Is code like (LET* ((A 1)
|                       (A (+ A 2)))
|                 ...)
|   legal CL?

[Pierpaolo Bernardi]

|   Yes. It is definitely legal.

hmmm.  what is the precise semantics of this construct in the presence of
declarations of A?  e.g. will a (declare (special a)) cause one of A's to
be special and one to have lexical scope, or will both be special?

I can't find anything in ANSI CL which would support the "definitely", but
it appears to be legal, while it appears not to be legal in `let'.  I don't
see why there should be a difference between the two, or where it is
specified that there is such a difference.

#<Erik 3022029208>
-- 
"He [O. J. Simpson] is going to kill me, and he is going to get away with it."
                                           -- Nicole Brown Simpson (1959-1994)