[Scheme-reports] Formal Comment: clarify library loading rules
Richard Kelsey 29 Jun 2012 17:02 UTC
Formal Comment
Submitter's name: Richard Kelsey
Submitter's email: kelsey at s48.org
Relevant draft: r7rs draft 6
Type: clarification
Priority: minor
Relevant section of draft: Libraries
Summary: Library loading rules are unclear and overly permissive
Page 27, Library syntax
I suggest replacing
"A library is loaded zero or more times when it is imported
by a program or by another library which is about to be
loaded, but must be loaded at least once in every program
in which it is so imported."
with
"Within a program, each imported library is loaded at least once,
and, if imported by more than one program or library, may possibly
be loaded additional times. Regardless of the number of times that
a library is loaded, each program or library that imports bindings
from a library will receive bindings from a single loading of
that library, regardless of the number of the number of import or
cond-expand forms in which it appears."
both for clarity, and to make it clear that, for example,
(import (prefix foo 'foo:))
(import (only foo bar))
will cause bar and foo:bar to come from the same instantiation of
foo.
-Richard Kelsey
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports