[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: EVAL-WHEN-NON-TOP-LEVEL (Version 5)
- To: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Subject: Re: Issue: EVAL-WHEN-NON-TOP-LEVEL (Version 5)
- From: David N Gray <Gray@DSG.csc.ti.com>
- Date: Mon, 6 Mar 89 12:06:24 CST
- Cc: CL-Compiler@SAIL.Stanford.EDU, Moon@STONY-BROOK.SCRC.Symbolics.COM
- In-reply-to: Msg of Fri, 24 Feb 89 14:08 EST from Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Sender: GRAY@Kelvin.csc.ti.com
> I wasn't intending my :EXECUTE to be different from your :EXECUTE. I'm
> not sure if I just used a poor choice of words to describe it or if I've
> missed some subtlety of your proposal.
>
> LOAD and COMPILE have meaning only when in a non-top-level position.
> EVAL has meaning only in a top-level position.
OK, I see now that I did miss noticing the sentence in your proposal that
says:
The use of EVAL controls whether processing occurs for
non-top-level forms.
But this just makes the proposal even more incompatible that I thought
before.
> For any given context, if LOAD is `being considered,' then COMPILE is
> `being considered' -- and vice versa.
>
> For any given context, if LOAD and COMPILE are `being considered' then
> EVAL is not `being considered' -- and vice versa.
...
I found this discussion to be incomprehensible until I did a text
substitution to replace EVAL, COMPILE, and LOAD with your alternate names
:EXECUTE, :COMPILE-TOPLEVEL, and :LOAD-TOPLEVEL. Then it began to make
sense. It just isn't going to work to define new meanings for old words;
if this approach is going to be taken, then new names are essential.
Also, to help make this clearer, instead of :EXECUTE, it should be
something like :EXECUTE-NON-TOP-LEVEL.
Now that I understand the proposal, I still need to think about whether I
agree with it.