Modula-2 - Dialects

Dialects

There are two major dialects of Modula-2. The first is PIM, named after the book "Programming in Modula-2" by Niklaus Wirth. There were three major editions of PIM, the second, third (corrected) and fourth editions, each describing slight variants of the language. The second major dialect is ISO, from the standardization effort by the International Organization for Standardization.

  • PIM2 (1983)
    • Required explicit EXPORT clause in definition modules.
  • PIM3 (1985)
    • Removed the EXPORT clause from definition modules following the observation that everything within a definition module defines the interface to that module, hence the EXPORT clause was redundant.
  • PIM4 (1989)
    • Specified the behaviour of the MOD operator when the operands are negative.
    • Required all ARRAY OF CHAR strings to be terminated by ASCII NUL, even if the string fits exactly into its array.
  • ISO (1996)
    • ISO Modula-2 resolved most of the ambiguities in PIM Modula-2. It added the data types COMPLEX and LONGCOMPLEX, exceptions, module termination (FINALLY clause) and a complete standard I/O library. There are numerous minor differences and clarifications.

Read more about this topic:  Modula-2