Modula-2 Revision 2010
* M2 R10 Repository *
Welcome to the design and development repository of Modula-2 Revision 2010,
its language report, reference compiler and standard library.
o Technical Specification
o Source Tree
o Library Definition Modules
o Summary of Changes
o Design Journal
o Compiler Roadmap
* About Classic Modula-2 *
Modula-2 is a modular, imperative programming language designed in 1978 at the
Swiss Federal Institute of Technology in Zurich (ETHZ) by Prof. Niklaus Wirth
as a successor to his earlier language Pascal. More information about the
classic Modula-2 language and its history can be found at:
* About Modula-2 Revision 2010 *
Modula-2 R10 is a modern revision of N.Wirth's Modula-2 language undertaken by
B.Kowarsch and R.Sutcliffe in 2009 and 2010. A pragma system was added in
in 2011 and 2012. The Design was refined and polished in 2013. The language
report is currently under editorial review and will be publshed in book form
The primary design goals of the revision were type safety, utmost readability
and consistency, and suitability as a core language for domain specific
supersets. Targeted areas of application are systems implementation,
engineering and mathematics. Some inspiration was taken from Ada and Oberon.
A particular strength of the design is a set of facilities to make library
defined abstract data types practically indistinguishable from built-in types
and thereby eliminate one of the major causes of feature growth.
A reference compiler for Modula-2 R10 has been under development since 2010
but work had been suspended until the design has been finalised. Some updates
were done in 2013. Development will fully resume in 2014. Initially, the com-
piler will generate C99 source code, and eventually LLVM IR.
* Development Schedule *
This project is a *private* and *self-funded* effort by the authors who are
doing this work in their own *spare* *time*. Further, the authors believe that
quality design and proper specification are prerequisites for a quality imple-
mentation and cannot be rushed. The finalisation of the manuscripts for the
book - currently estimated for end of Q1/2014 - will allow shifting of focus to
the implementation, but there is no fixed schedule for the completion of the
project. It will take as long as it takes.
(status: Jan 31, 2014)