[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.