[r6rs-discuss] [Formal] Remove double phase semantics

From: AndrevanTonder <andre>
Date: Sat Nov 25 10:29:17 2006

On Tue, 14 Nov 2006, Andre van Tonder wrote:

> A simpler semantics is already effectively implemented by two of the
> reference implementations. This semantics shares
> one set of bindings between all the levels into which they
> are imported.

I would like to change the part of the formal comment suggesting
that the choice of phase semantics should be the one in which one
set of bindings is shared between levels into which they are imported.
This semantics has some deep problems. For example, libraries may
behave differently when imported at level 0 that they do when imported
at higher levels, and the meaning of a library at any given level may
be affected by adding or removing imports into other levels.

The much cleaner semantics is the one in which a separate set of
bindings is instantiated for each level. In the past, I opposed
requiring this due to perceived efficiency issues. I now know how
to implement both choices with essentially the same efficiency and
simplicity. I therefore see no obstacle to requiring the semantics that
instantiates a separate set of bindings for each meta-level, and
I would like to suggest that this should be the only choice.

Andre
Received on Sat Nov 25 2006 - 10:25:01 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:00 UTC