Also found in: Dictionary, Thesaurus, 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.
McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.


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].
This article is provided by FOLDOC - Free Online Dictionary of Computing (


(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
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.
References in periodicals archive ?
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.
Finally, this generalized use of equality can in principle conflict with the prescribed meaning of it within Modula-2. 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. Indeed, suppose that instead of the call by mixed form we would use call by value.
In this article we described Alma-0 by discussing the extensions of Modula-2 that are included in it.
They came with Pascal or Modula-2 as their primary language.
Because of the overwhelming success of Ada in the Real-Time Systems course and problems experienced with Pascal and Modula-2 in our Data Structures courses, the SUNY-Plattsburgh Computer Science department decided to select Ada as the primary language of our curriculum.
Prior to our adoption of Ada, we taught our introductory programming course in Pascal (prior to 1984) and Modula-2 (1984 to 1988).
Programming in Modula-2. Texts and Monographs in Computer Science.
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.
A practical design for high-level iteration is illustrated by way of an extension of Modula-2 called Modula Plus.