Also found in: Dictionary, Thesaurus, Medical, Wikipedia.


[′mäj·ə·lə ′tü]
(computer science)
A general-purpose programming language that allows a computer program to be written as separate modules which can be compiled separately but can share a common code.


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.

DEC FTP archive.

["Programming in Modula-2", N. Wirth, Springer 1985].


(MODUlar LAnguage-2) An enhanced version of Pascal introduced in 1979 by Swiss professor Nicklaus Wirth, creator of Pascal. It supports separate compilation of modules, allowing it to be used for large projects. The following example changes Fahrenheit to Celsius:

      module FahrToCent;
   from InOut import ReadReal,WriteReal,
   var Fahr:real;
   WriteString("Enter Fahrenheit ");
   WriteString("Celsius is ");
   WriteReal((Fahr - 32) * 5 / 9);
      end  FahrToCent
References in periodicals archive ?
Prior to our adoption of Ada, we taught our introductory programming course in Pascal (prior to 1984) and Modula-2 (1984 to 1988).
Indeed, Ada does not seem to be more difficult for students than Fortran, whereas Modula-2 and Pascal were.
Finally, the availability of a freely distributed Ada 9X system can serve to propagate Ada 9X through the educational system in the way that Lisp, Pascal, Modula-2, C, and C++ have propagated.
We chose Ada, after prior experience with Pascal and Modula-2, because its syntax is not arcane, it supports the object-based and object-oriented paradigms, it has a strong standard and is widely available, and it supports sound software engineering principles as well as ACM's Curriculum 91.
In Sections 2, 3, 4, and 5, we introduce in stages the extensions of the language, and summarize them in Section 6, where we also discuss the features of Modula-2 which are at this stage not implemented in Alma-0.
But this could only happen if the original Modula-2 program used equality x = t (or t = x) within a condition with x uninitialized.
The above instances of behavior of the Find procedure cannot be reproduced using the customary parameter mechanisms of Modula-2.
The Kronos processor, memory block and asynchronous channels form a (minimal) processing module or a processing node in a multiprocessor context (also not to be confused with the Modula-2 module).
Modula-2 is a perfect language for this purpose and Kronos is a perfect processor to effectively run Modula-2 programs.
A program designed in Modula-2 is a set of modules; its processes may use procedures and variables of modules to have access to global data structures.