Note: some of the information on this page is a little dated; I
haven't yet had time to fix it up. The important new information
is that the ISO standard is now official.
From the horse's mouth ...
An Official WG13 home page
now exists. This has the latest and "most official"
information about Modula-2 standards.
What is ISO Standard Modula-2?
This information was extracted (with permission) from the Modula-2
FAQ maintained by
Rick Sutcliffe.
A committee of ISO JTC1/SC22/WG13 with delegates from several
countries has met since 1987 to work on a standard description of
Modula-2
and a set of standard library modules.
The international standard (IS 10514) has been voted on and will be
official as soon as the comments have been attended to.
Where can I get the Modula-2 standard?
Format: Latex.
Who is the convenor of the standards group (WG13)?
A. Mark Woodman at m.woodman@open.ac.uk.
NOTE: Mark Woodman has not been available for some time, and Kees Pronk
c.pronk@twi.tudelft.nl has been appointed by SC22 as interim convenor
of
WG13.
Will I be able to read the standard?
-
The concrete syntax is written in a variation of EBNF (Extended
Backus-Naur Formalism) and should be accessible to most.
- Much of the document's details are written in VDM-SL (Vienna
Development Method - Specification Language) which is a formalism for
giving a precise definition of a programming language in a denotational
style. It is worth learning VDM-SL if you plan to write a compiler or
take a course in formal methods.
The standard definition modules are at ftp://FTP.twu.ca/pub/modula2/ISOLibraries/ISODEFMods/
or
ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/standard/libdefs/
The grammar can be found at
http://www.twu.ca/faculty/fnas/math/rsbook/Appendices/Ap3.nisus.html.
For classical Modula-2, see also COCO (section 4.9 of Rick's FAQ).
Differences between classical and ISO Modula-2: ISO Modula-2 has
resolved most of the ambiguities in classical Modula-2. It adds the
data type COMPLEX and LONGCOMPLEX, exceptions, module
termination (FINALLY clause) and a complete standard I/O library. There
are numerous minor differences and clarifications.
WG13 is working on two additional standards (separate from the main
one) for (a) object oriented Modula-2 and (b) generic programming
facilities. A ballot is at least several months away. Various versions
of
the latest generics proposal are stored in the directory
ftp://FTP.twu.ca/pub/modula2/WG13/.