racket/collects/r6rs/doc.txt
Matthew Flatt d3056a39f3 r6rs library form improvements
svn: r468
2005-07-27 18:50:30 +00:00

56 lines
1.4 KiB
Plaintext

The _r6rs_ collection contains support for things that might become
part of the R6RS standard.
To write an R6RS library:
#reader(lib "library.ss" "r6rs")
(library "name" ....)
where "name" matches the containing file name without the file path or
suffix. Note that the #reader line adjusts reader syntax in addition
to converting `library' to `module'.
To evaluate R6RS `library' and `import' forms at the REPL (or with
`load', etc):
> (require (lib "library-repl.ss" "r6rs"))
or start MzScheme as
% mzscheme -L library-repl.ss r6rs
In either mode, to import a collection-based module to to reference
other libraries installed in the collection tree, use
"scheme://<collection>/...<collection>/<file>"
instead of
(lib "<file>" "<collection>" ... "<collection>")
A "scheme://" URI must have at least one <collection> and a <file> to
be translated to a `lib' reference. If the indicated collection does
not exist, a path is invented based on the "mzlib" collection; this
supports absolute URIs that name `library's entered in the REPL.
Limitations:
- doesn't enforce that a for-run import isn't also
a for-expand import in a different import-spec
- reader adjusts only string, character, and quoted-symbol
syntax (as in SRFI-75), for now
To appear:
- a tool to take a sequence of `library' declarations and
copy them into the collection tree (adjusting the
declared library name as necessary, and adding the #reader
line)