
Formal Specifi cations—2 Algebraic 607
Key Terms
1. Modula-2 is a computer programming lan-
guage invented by Niklaus Wirth at ETH around
1978, as a successor to Modula, another lan-
guage by him. In particular, it was designed
to support separate compilation and data ab-
straction in a straightforward way. Much of
the syntax is based on Wirth’s earlier and bet-
ter-known language, Pascal.
2. Abstract data types is a mathematical
specifi cation of a set of data and the set of
operations that can be performed on the data.
Such a data type is abstract in the sense that the
focus is on the defi nitions of the constructor
that returns an abstract handle ...