[r6rs-discuss] [Formal] eliminate library export immutability loophole

From: Abdulaziz Ghuloum <aghuloum>
Date: Mon Mar 12 23:22:25 2007

On Mar 12, 2007, at 10:13 PM, R. Kent Dybvig wrote:

>> Closing the loophole as recommended by Kent would erase all
>> observable
>> differences between these three strategies, so that they would become
>> equivalent, correct?
>
> Not quite. If the last library body never returns to its
> continuation,
> the exported variable locations are never initialized.

Correct. But if the last body of library A never returns to its
continuation (which may contain invoking other libraries that import A),
then everything in that continuation will not be reached and, therefore,
cannot observe that A was not initialized properly.

> To address this, it might be a good idea to require that the exported
> variable locations be initialized immediately after their local
> counterparts.

I think of having local locations in addition to the exported
locations as
just one possible implementation strategy. Wouldn't it be simpler to
talk
about the library bindings (their scope, locations, mutability, only-
once
initialization, etc.) in a manner that's independent of implementation?

Aziz,,,
Received on Mon Mar 12 2007 - 23:21:42 UTC

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