Chapter 3

Program Structure

Libraries

A library consists of the following parts:

Exporting a module from a library makes all of the bindings exported by the module available for import by modules in other libraries.

Importing a module into a library allows the module to be used by modules defined within the library. This gives the library's modules access to the bindings of the module being imported.

Importing a module into a library does not allow source records in the importing library to be contained in the imported module.

Each implementation must provide a library named dylan that exports a module named dylan. That module must export exactly those bindings documented as being part of the Dylan language, and the values of those bindings must be as specified by the Dylan language. The dylan library is permitted to export additional implementation-defined modules.

Each library contains an implicitly defined module whose name is dylan-user. Within this module, all the bindings specified by the Dylan language are accessible using their specified names. Additional implementation-dependent bindings may also be accessible from this module.