What is Modula-3

This paragraph is borrowed from the Modula-3 FAQ.

Modula-3 is a systems programming language that descends from Mesa, Modula-2, Cedar, and Modula-2+. It also resembles its cousins Object Pascal, Oberon, and Euclid.

The goal of Modula-3 is to be as simple and safe as it can be while meeting the needs of modern systems programmers. Instead of exploring new features, we studied the features of the Modula family of languages that have proven themselves in practice and tried to simplify them into a harmonious language. We found that most of the successful features were aimed at one of two main goals: greater robustness, and a simpler, more systematic type system.

Modula-3 retains one of Modula-2's most successful features, the provision for explicit interfaces between modules. It adds objects and classes, exception handling, garbage collection, lightweight processes (or threads), and the isolation of unsafe features.

What is CM3?

CM3 is the open source release of Critical Mass Modula-3. It is a complete easy-to-use and easy-to-install Modula-3 system that contains considerable enhancements over its ancestor DEC SRC Modula-3. Read About CM3 to learn more.

All the sources are available under the free DEC SRC style copyright. Please read COPYRIGHT-CMASS and COPYRIGHT-DEC. Elego Software Solutions has supported the CM3 project but does not own any copyrights; the release of the code has been done on request and with explicit authorization from Critical Mass, Inc.

Please read all the available information before downloading any archives.

Contributions and Acknowledgements

A lot of people have contributed to the original M3 release by DEC SRC, and the 5.1 code release is almost entirely the work of members of Critical Mass. I don't know all the names and cannot provide a list here. It would also not have been possible for me to setup this distribution without PM3 Modula-3.

Several people have contributed to the open source releases of CM3 5.1, 5.2, 5.3 and 5.4 since the announcement of its availability for test. The latest release notes contain some names, but I still haven't got around to provide a complete list. Please don't be annoyed if you don't find your name mentioned here yet; just send me some lines with the contributions you would like to be mentioned, and I'll put together a list and publish it.

A Note about Reactor

Critical Mass used to distribute their CM3 compiler as the core component of the Reactor GUI. This software is now available as CM3IDE thanks to the efforts of Randy Coleburn.

About CM3 5.1 · CM3 5.1 IF Changes and Performance · CM3 5.1 Documentation · Installation Notes · Upgrading · Things to do · Package Status · Known Problems · Booting CM3 using M3 · Porting CM3 · CM3 and Elego ComPact · CM3 Problem Report · Download · CVSup Access · CVS PServer Access · CM3 Configuration Management Rules· M3 Mailing Lists · Plans