[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: must be wrong
- To: Alan Bawden <ALAN@MIT-MC>
- Subject: Re: must be wrong
- From: Guy.Steele@CMU-CS-A
- Date: Thu, 22 Dec 1983 01:53:00 -0000
- Cc: common-lisp@SU-AI
- In-reply-to: "Alan Bawden's message of 19 Dec 83 22:11-EST"
To recapitulate: the reason declarations affect initializer formsis that we discovered anomalies in the handling of declarations in
such sequential-binding forms as LET* and DO*. For example:
(LET* ((A B)
(B A))
(DECLARE (SPECIAL A B))
...)
Clearly both bindings should be special. Should either initializer
be special? Knotty problems lurk here, and it was somehow decided
that all initializers should be affected in all cases. It is a simple
rule, at least, even though the old explanations of LET in terms of
macro expansion no longer always work.