<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 Lilithworkstation.
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.
{Modula-2/m2.tar.Z">DEC FTP archive
(ftp://gatekeeper.dec.com/.1/DEC/Modula-2/m2.tar.Z)}.
["Programming in Modula-2", N. Wirth, Springer 1985].
(1995-10-25)
L. Cardelli et al, DEC and Olivetti, 1988. A descendant of
Modula-2+ and Cedar, designed for safety and simplicity.
Objects, generics, threads, exceptions and garbage collection.
Modules are explicitly safe or unsafe. As in Mesa, any set of
variables can be monitored. No multiple inheritance, no
operator overloading. Uses structural equivalence. "Modula-3
Report", Luca Cardelli et al, TR 52, DEC SRC, and Olivetti
Research Center, Aug 1988 (revised Oct 1989). The changes are
described in "System Programming with Modula-3", Greg Nelson
ed, P-H 1991, ISBN 0-13-590464-1. "Modula-3", Sam Harbison,
P-H 1992. Version: SRC Modula-3 V1.5.
Modula-3/release/">ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release/.
See also SRC Modula-3.