[r6rs-discuss] [Formal] Remove double phase semantics
On Nov 25, 2006, at 3:11 PM, Marcin 'Qrczak' Kowalczyk wrote:
> AndrevanTonder <andre_at_het.brown.edu> writes:
>
>> The much cleaner semantics is the one in which a separate set of
>> bindings is instantiated for each level.
>
> Let's imagine a Scheme compiler which hosts its own interpreter.
> Certain libraries (e.g. the standard library) are provided only in the
> compiled form, and the interpreter just links to their version which
> is compiled into the interpreter program instead of interpreting their
> source. Assume that they contain mutable state.
>
> In this case I think it's easy to have bindings shared between levels,
> and it's hard to separate them.
That has been the major concern about separate instances of libraries.
A runtime environment has to have some mutable state that is either
visible to the user or used internally. I don't see how requiring a
separate instance of every single binding in the system at every phase
is going to be efficient. Furthermore, even if bindings are separated,
the store is not. So, even if separating the bindings has much cleaner
semantics , the dirtiness is pushed to another area. People who want
to share bindings across phases will just have to go through another
level of indirection and share bindings through the store.
Andre, what real problem would "separate bindings" solve?
Aziz,,,
Received on Sat Nov 25 2006 - 20:43:02 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:00 UTC