[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
EVAL-WHEN buried inside forms.
- To: "common-lisp" <common-lisp@su-ai.ARPA>
- Subject: EVAL-WHEN buried inside forms.
- From: "BACH::GREEK" <greek%bach.decnet@hudson.dec.com>
- Date: Tue, 08 Apr 1986 16:43:00 -0000
- Reply-to: "BACH::GREEK" <greek%bach.decnet@hudson.dec.com>
Please keep in mind that this message assumes I understand how EVAL-WHEN
is supposed to work, which I might not.
I don't believe that the model for EVAL-WHEN takes into account uses at
other than "top level". For example:
(eval-when (compile load)
(let (...)
(eval-when (eval)
...stuff...)
...)
)
The LET will be EVALed at compile-time by virtue of the compile
situation in the outer EVAL-WHEN. Then, as the compiler begins to
process the body of the LET, it will see the inner EVAL-WHEN and EVAL
the stuff, then discard it. Oops, the stuff was EVALed twice!
In order to deal with EVAL-WHEN forms anywhere, we need to improve the
model. But it's not clear to me what some combinations mean.
- Paul
------