A module is a set of related changes

  • Each module, when read in, extends the underlying system with new objects and slots. SELF 4.0 contains 175 modules.

  • Each module is saved in a SELF source file, generated from the objects and module information in the snapshot.

  • The system can be reconstructed from the source files.

  • Modules may be omitted.

  • Source files can be versioned.

A module is a set of related changes

When a module is read in, it extends the system in some way by creating and modifying objects. The Self 4.0 system, for example, contains 175 modules in the snapshot, and there are over 100 other modules which can be filed in to a system (including test suites, benchmarks, and the Self 3.0 user interface).

Each module is saved in a Self source file (suffix .self), which can, in principle, be modified with a text editor (although it is not recommended). The files are generated from the objects and module information in a snapshot.

This approach has several advantages:

  • The system can always be reconstructed from the module files. Losing the snapshot is not catastrophic.

  • We can construct new systems by omitting modules. If a module defines changes that are not needed, it can be omitted.

  • We can use conventional version control systems to manage the source files.

[ Previous ] [ Index ] [ Next ]