6.9 Single-Unit Modules
When scheme/unit is used as a language name with #lang, the module body is treated as a unit body. The body must match the following module-body grammar:
module-body |
| = |
|
| ||||||
|
|
|
|
| ||||||
require-decl |
| = |
| (require require-spec ...) | ||||||
|
| | |
| (begin require-decl ...) | ||||||
|
| | |
| derived-require-form |
After any number of require-decls, the content of the module is the same as a unit body.
The resulting unit is exported as base@, where base is derived from the enclosing module’s name (i.e., its symbolic name, or its path without the directory and file suffix). If the module name ends in -unit, then base corresponds to the module name before -unit. Otherwise, the module name serves as base.