[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: LOAD-TIME-EVAL (Version 8)
- To: Moon@STONY-BROOK.SCRC.Symbolics.COM
- Subject: Re: Issue: LOAD-TIME-EVAL (Version 8)
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Thu, 2 Feb 89 12:04 EST
- Cc: KMP@STONY-BROOK.SCRC.Symbolics.COM, sandra%defun@cs.utah.edu, Gray@DSG.csc.ti.com, CL-Compiler@SAIL.STANFORD.EDU
- In-reply-to: <19890202164457.6.MOON@EUPHRATES.SCRC.Symbolics.COM>
Date: Thu, 2 Feb 89 11:44 EST
From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
...
Btw, Sandra's references to "calls to EVAL" meant toplevel calls. After
all, users can't tell if EVAL is implemented recursively, or if some
internal function is used to do the recursion. The only time they ever
come in contact with the recursive nature is when they use EVALHOOK, and
there it is not EVAL, but EVALHOOK which accomplishes the recursion.
I still don't think it means anything. For example, in your FOO example
the two calls to EVAL inside the list are top-level calls if FOO was called
from something compiled, or non-top-level calls if FOO was called from
something interpreted. Does the Lisp's interactive loop count as EVAL?
What if it's executing a LOAD command, or loading a user's lisp init file,
rather than evaluating a typed-in form? I still don't think it means anything.
Sigh... The particular feature I'm worried about is not something I have
have a clear example of, nor is it something any code I have depends on
now. I suspect that if I had an actual case it would be easier to say
what the right thing was (including the possibility of realizing that
the example was bogus).
I guess I think the right thing to avoid deadlock here is just to carve out
a paragraph in the discussion that says something like:
Pitman was somewhat concerned that coalescing LOAD-TIME-VALUE results
based on EQ-ness of the LOAD-TIME-VALUE form could conceivably lead to
trouble down the line. However, since he could provide no actual examples
to back up that worry, and since the majority opinion was that some
implementations would find a restriction against such coalescing an
undue burden, the decision was made to just `note the concern' and
proceed on.