This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 430: Formal Comment: clarify library loading rules

2012-10-12 03:24:34
WG1 - Core
cowan
major
cowan
fixed
source
closed
2012-07-02 02:19:00
defect

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.

owneralexshinncowan
statusnewaccepted
resolutionfixed
statusacceptedclosed