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

Re: Issue: LOAD-TIME-EVAL (Version 8)

    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.