[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: draft of alternate proposal for EVAL-WHEN-NON-TOP-LEVEL
- To: Sandra J Loosemore <sandra%defun@cs.utah.edu>
- Subject: Re: draft of alternate proposal for EVAL-WHEN-NON-TOP-LEVEL
- From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Wed, 8 Mar 89 20:15 EST
- Cc: Eric Benson <eb@lucid.com>, pierson@mist.encore.com, cl-compiler@sail.stanford.edu
- In-reply-to: <8903072255.AA08178@defun.utah.edu>
Date: Tue, 7 Mar 89 15:55:10 MST
From: sandra%defun@cs.utah.edu (Sandra J Loosemore)
> Date: Tue, 7 Mar 89 17:18 EST
> From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
>
> It makes me wonder if
> perhaps we shouldn't retreat to a minimalist position where PROGN is
> the only special case.
>
> Do we really have to rehearse all the arguments as to why that won't work
> once again?
I'm not aware that such arguments have ever been coherently stated. I
just went through all my back mail on this subject and couldn't find
anything on it from you or from anyone else.
I think you're right that it would work to not make locally, macrolet,
labels, and so forth when used at top-level treat their bodies as
top-level. It would be less esthetic, but it wouldn't fail to work.
I was confused on that point. What I was thinking of was eval-when;
CLtL p.70 seems quite clear that when an eval-when is processed
as a top-level form, and the situation LOAD is specified, the forms
in the body are also processed as top-level forms. It doesn't use
the word "top-level" but from the context that's what "process" means.
I also really believe that it will not work to change this so that
the body of an eval-when is not top-level.
Perhaps we need to be reminded that the minimalist position is
actually the status quo -- PROGN is the only special case mentioned by
CLtL.
I'd claim PROGN and EVAL-WHEN. I agree that CLtL doesn't require anything
else.
I question whether the problem with LOCALLY justifies trying to come
up with a model of what toplevelness is that is radically different
than what is specified in CLtL.
No, what justifies coming up with a model is that noone can understand
the description in CLtL, including I think its authors.