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


    Date: 22 Nov 86 17:00 PST
    From: Pavel.pa@Xerox.COM
	Date: Sat, 22 Nov 86 17:32 EST
	From: Alan Bawden <Alan@AI.AI.MIT.EDU>
	Right.  This demonstrates that LEXICAL-EVAL would have to be a new
	special form, rather than simply a function.
    Even if it were a special form, what code could the compiler generate
    for it?  Would the presence of such a special form require turning off
    all optimizations having to do with the lexical environment and cause
    the compiler to create some sort of run-time environment structure
    containing names and such?  Yecch.

That would seem to be what you have to do.  The variables that are
lexically apparent at the site of the LEXICAL-EVAL would have to be handled
somewhat more carefully than ordinary lexical variables.  Presumably by
bundling them up into some kind of explicit environment structure.

In Common Lisp you would also have to include the current function
definitions established by FLET, the current BLOCK names and TAGBODY tags,
and the current macro definitions established by MACROLET.

Please note that I have yet to express an opinion about this.