Modula-3 @ elego

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.

The main site for information about Modula-3 is

elego Software Solutions has `inherited' the complete sources for the Critical Mass Modula-3 compiler and development system from Critical Mass, Inc., in 2000, and has since then made several releases of the system in source and binary form. More information about CM3 can be found here.

In March 2002 we also took over the repository of the other active Modula-3 distribution PM3, till then maintained at the Ecole Polytechnique at Montreal. The server there will cease to exist at the end of August 2002.

So currently elego Software Solutions is hosting the complete CVS source code repositories and providing

Everybody who wants to work on the CM3 or PM3 sources directly can get write access if he provides an ssh key (protocol version 2 (DSA) preferred). Send email to m3-support{at} if you are interested, and have a look at the CM3 configuration management rules.