|#lang r6rs||package: r6rs-lib|
The R6RS language is itself implemented as a module within Racket. The details of that implementation, as provided in this section, are not normally relevant to programmers using R6RS; see the links in Using R6RS, instead. The details may be relevant to programmers who are developing new tools or deriving variants of R6RS within Racket.
As a Racket module, the r6rs module language provides only a #%module-begin binding, which is used to process the entire body of a Racket module (see module). The #%module-begin binding from r6rs allows the body of a module to use the syntax of either a R6RS library or a R6RS top-level program.
(#%module-begin (library library-name (export export-spec ...) (import import-spec ...) library-body ...))
(#%module-begin (import import-spec ...) program-body ...)
The library, export, and import identifiers are not exported by the r6rs library; they are recognized through equivalence to unbound identifiers.