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

Re: first-class names




> What do you mean by "all the costs"?  And what do you mean by
> "canonical implementation"?
>
> Cheers =8-} Mike Friede

>From earlier: "Joe Marshall" <jrm@ccs.neu.edu> wrote:
The biggest problem with first-class environments ala MIT Scheme
is the introduction of new bindings at runtime.  If you introduce a
new binding, the `lexical address' (frame and offset) of a variable
cannot be statically determined and you have to do a deep search
every time.  It absolutely destroys any sort of compiler optimization.

    So I think the exact question is, if bundling a symbol and its
environment bypasses the need for a deep search every time, does this
allow the introduction of new bindings at runtime and also some or all
of the optimizations possible with ordinary lexical scoping?  I
suppose for a new binding with a supplied destination environment the
frame is statically known but the offset is not (necessarily) known.