A high-level programming language designed by Niklaus Wirth
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
, coroutines and explicit transfer of control) and hardware access (absolute addresses and interrupts
). It uses name equivalence.
DEC FTP archive (ftp://gatekeeper.dec.com/.1/DEC/Modula-2/m2.tar.Z).
["Programming in Modula-2", N. Wirth, Springer 1985].