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.