Extensible Modula-3 runtime


SPIN and its extensions are written in Modula-3. An extension is a collection of Modula-3 interfaces and modules that provide definitions and implementations of types, procedures, and variables. A Modula-3 program is required to maintain a number of consistency conditions:

A SPIN kernel is conceptually a single Modula-3 program and as such it has to maintain all of the above conditions. When an extension is dynamically loaded into the system, Modula-3 runtime has to be notified about it to verify that type and interface information is correct and consistent and to update its state to reflect addition of the new code. This notification is done during loading the extension.


Przemek Pardyak, May 20th, 1996