[Scheme-reports] Formal Comment: clarify library loading rules Richard Kelsey (29 Jun 2012 17:03 UTC)

[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