Jonathan Rees
3 January 1993 (updated 15 January 1994)
This memo describes a module system for the Scheme programming language. The module system is unique in the extent to which it supports both static linking and rapid turnaround during program development. The design was influenced by Standard ML modules[4] and by the module system for Scheme Xerox[3]. It has also been shaped by the needs of Scheme 48 , a virtual-machine-based Scheme implementation designed to run both on workstations and on relatively small (less than 1 Mbyte) embedded controllers.
Except where noted, everything described here is implemented in Scheme 48 , and exercised by the Scheme 48 implementation and a few application programs.
Unlike the Common Lisp package system, the module system described here controls the mapping of names to denotations, not the mapping of strings to symbols.