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

re: EVAL-WHEN-NON-TOP-LEVEL



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.

kab
-------