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 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.