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,,,
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss