[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: sandra%defun@CS.UTAH.EDU, JonL@LUCID.COM
- Subject: re: EVAL-WHEN-NON-TOP-LEVEL
- From: Kim A. Barrett <IIM%ECLA@ECLC.USC.EDU>
- Date: Thu 9 Feb 89 11:27:36-PST
- Cc: cl-compiler@SAIL.STANFORD.EDU, iim%ECLA@ECLC.USC.EDU
Regarding our conversations during the Hawaii meeting: now that I have had
time to think about it and spent some time exploring the effects, I agree with
the proposal to make EVAL-WHEN not pass "top-level" through. I think this
gives us the following description for EVAL-WHEN.
When an EVAL-WHEN form is encountered by the interpreter, if the EVAL
sitiation is specified then the body of the form is processed as an implicit
PROGN. Otherwise, the interpreter treats the form as NIL.
The compiler processes an EVAL-WHEN form in two steps. First, if the COMPILE
situation is specified and the compiler processing is at "top-level", then
the body forms are evaluated in order (as if by EVAL). Second, if the LOAD
situation is specified then the body is processed as a non-top-level implicit
PROGN. If the LOAD situation is not specified then the compiler treats the
form as NIL.
This is a change, both from CLtL and from what we were proposing before, but I
think it does what we want.