Go to the first, previous, next, last section, table of contents.


Scheme and modules

Scheme, as defined in R4RS, does not have a module system at all.

Aubrey Jaffer, mostly to support his portable Scheme library SLIB, implemented a provide/require mechanism for many Scheme implementations. Library files in SLIB provide a feature, and when user programs require that feature, the library file is loaded in.

For example, the file `random.scm' in the SLIB package contains the line

(provide 'random)

so to use its procedures, a user would type

(require 'random)

and they would magically become available, but still have the same names! So this method is nice, but not as good as a full-featured module system.


Go to the first, previous, next, last section, table of contents.