Polytechnique Montréal Modula-3 is the largest incarnation of the free Modula-3 development environments. It builds upon the SRC M3 base and includes enhancements from Cambridge Modula-3.
With over 15,000 files of source code, there is a large and solid existing base of software to develop upon. Fortunately, there are binaries available for the most popular platforms.
In 2002, the server at Polytechnique Montréal has been shut down; CVS repository and web services for PM3 are now continued at the server of elego Software Solutions GmbH, Berlin, Germany.
Lately, Anthony Hosking has merged the newer compiler from the CM3 distribution, and contributed all the persistence work done in his University research projects.
CM3 was a commercial version of the Modula-3 compiler distributed by Critical Mass. It had many improvements over the non-commercial offerings, and that is what you basically expect.
Some years after the demise of Critical Mass, their new version of the compiler was contributed to the open source community and made available as CM3 5.1 by elego Software Solutions. Since the first release in 2000, many changes and improvements have been incorporated into this code distribution, including support for MacOS X and Linux on PowerPC hardware, code generator based on gcc 3.2.3, and many more.
EZM3 is a simpler, more portable distribution of the Modula-3 compiler and runtime libraries. It is designed for people who would like to install CVSup on their systems as quickly and as painlessly as possible. Ezm3 is derived from the robust and comprehensive PM3 release of Modula-3. Only the components and features which are needed by CVSup were retained. Features which made the package harder to port and install were removed.
The goal of Ezm3 is for you to be able to install Modula-3 on your system in one try, without any patching or false starts.
The SRC Modula-3 version of the compiler is a strong and stable version of the Modula-3 libraries and environment. It does not change any more, as work on Modula-3 has been abandoned at DEC SRC.
You should probably use either CM3, PM3, or EZM3 if you are not running on more or less historical operating systems.
Cambridge Modula-3 was developed to have an updated build system with better configuration file support. It extends SRC M3 with a few extra packages, and includes some other enhancements including pragmas.
Most, if not all, of the Cambridge Modula-3 enhancements have been folded into the Polytechinque Montreal Modula-3 system. I believe that CAM3 is slowly being phased out, but I could be wrong.
Currently, the web pages and software distribution of CAM3 don't seem to be accessible by the public, if they still exist at all. (The link was http://www.cl.cam.ac.uk/m3doc/linux/cambridge.html).
The Modula-3 Home Page contains a (somewhat historical) listing of implementations. Some of these point to old versions, or versions for operating systems that are in lesser use. This is not to imply that the compilers are not useful, just that they are not as current as the ones listed above.
Currently the most active site containing information about M3 and CVS repositories with ongoing development is the server of elego Software Solutions GmbH, Berlin, Germany.
Last Updated: July 23, 1998