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

Re: draft of alternate proposal for EVAL-WHEN-NON-TOP-LEVEL



> Date: Tue, 7 Mar 89 13:30 EST
> From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
> 
> Here is the criterion I prefer to use: a form is non-top-level if its
> lexical environment cannot be fully constructed at compile time or if it
> is not manifestly executed at load time exactly once.  In other words,
> the form is enclosed in a variable binding, a block, a tagbody, a loop,
> or a conditional.

I would also add "in a FUNCTION special form", although it's unlikely
that anybody would put one directly at top-level.  Also, what about
things like CATCH and UNWIND-PROTECT that alter the dynamic
environment?

As other people have noted before, it seems like we are arriving at a
very complicated idea of "top-level" that has very little to do with
people's intuitive notions on the subject.  It makes me wonder if
perhaps we shouldn't retreat to a minimalist position where PROGN is
the only special case.

-Sandra
-------