21Require utilities

Expands to (combine-in(file"foo.ss")...) for all Scheme source files (".ss" and ".scm" extensions) in path. path must be a string literal.

Known issues: This form is sensitive to the value of current-directory and may not be useful in all cases. Future improvements will force path to be relative to the directory containing the current module.

(define-library-aliasesidsourcekw...)

(define-library-aliases(in-idout-id)sourcekw...)

source

=

(filedir-spec)

|

(planetplanet-spec)

dir-spec

=

string

planet-spec

=

id

kw

=

#:provide

Defines require and provide shortcuts for a code library. Similar in function to Ryan Culpepper’s {Require.plt}.

The two-identifier form binds in-id and out-id to require- and provide-transformers that require and provide modules from the specified library. The single-identifier form expands to the two-identifier form by appending -in and -out to id. If the #:provide keyword is specified, provide statements are automatically injected for in-id and out-id.

dir-spec must be a string literal, which is expanded to a path using:

(path->complete-path(expand-user-path(build-pathdir-spec)))

This means platform-specific shorthands such as "~" are valid in directory names. planet-spec must be a shorthand PLaneT package name. Module filenames must end with ".ss".