<language> A high-level programming language designed by Niklaus Wirth at ETH in 1978. It is a derivative of Pascal with well-defined interfaces between modules, and facilities for parallel computation. Modula-2 was developed as the system language for the Lilith workstation.
The central concept is the module which may be used to encapsulate a set of related subprograms and data structures, and restrict their visibility from other portions of the program. Each module has a definition part giving the interface, and an implementation part.
The language provides limited single-processor concurrency (monitors, coroutines and explicit transfer of control) and hardware access (absolute addresses and interrupts). It uses name equivalence.
["Programming in Modula-2", N. Wirth, Springer 1985].
(25 Oct 1995)
An extension of Modula-2 by M. Philippsen <philipp@ira.uka.de> of the University of Karlsruhe. It uses a superset of data parallelism, allowing both synchronous and asynchronous programs, both SIMD and MIMD. Parallelism may be nested to any depth. There are version for MasPar and a simulator for the SPARC.
FTP. E-mail: Ernst Heinz <heinz@ira.uka.de>.
["Modula-2*: An Extension of Modula-2 for Highly Parallel, Portable Programs", W. Tichy et al, TR 4/90, U Karlsruhe, Jan 1990].
(21 Oct 1994)
Modula-2 plus exceptions and threads developed by P. Rovner et al of DEC SRC, Palo Alto CA in 1984.
["Modula-2+ User's Manual", M-C van Leunen].
["Extending Modula-2 to Build Large, Integrated Systems", P. Rovner, IEEE Software 3(6):46-57 (Nov 1986)].
(21 Oct 1994)