Modula 2 is alive

Alive and kicking.

Most of existing Modula-2 compilers today are commercial, gratis (not free) or has limited functionality. Some of these are only PIM2 conformant or only ISO or Logitech(c) enabled. This way, a non-standard language features decision has to be made.

GNU Modula-2 (GM2), an emerging, modern and ambitious project has come to break all this rules:
  • It's free, GPL licensed, so everybody can contribute with ideas or bug reports to the developer or to make enhancements with freedom and warranties.
  • It's PIM4 compliant and ISO, Logitech(c) and ULM enabled through pure Modula-2 libraries. It also supports coroutines througth PIM interface.
  • The project is currently under active development, but recent versions seem to be very stable. Soon, I will demonstrate GM2 power by replacing mocka as a full-featured development and debugging environment for educational and free-developer's use using some examples and proper functionality comparisson.
GM2 is not a one-day work. It's author, Gaius Mulley, is the main developer of the excelent P2C (Pascal to C translator) and M2F, a Modula-2 PIM2 compliant compiler fully functional an stable now for ages.

You can reach the project page here: GNU Modula-2

My contribution
  • I've made x86_64 binaries ready for download and install in two flavors, minimal (11Mb) (for Modula-2 compilation and debugging but not for C development) and complete (19Mb) , with gcc 3.3.6 included.
  • A builder/debugger shell script that you can download here to help compile, make and debug small projects easily.
  • Several patches to Modula-2 PIM libraries, mainly to allow non-buffering for standard input and output procedures (sorry, this will be explained in extent soon)
To install any of these packages, use the following command:
$ tar jxvCf / gm2-0.50-x86_64-20060314-minimal.tar.bz2

for minimal package or

$ tar jxvCf / gm2-0.50-x86_64-20060314.tar.bz2
for the full-featured one. Then copy gm2.sh to any directory included in your PATH (use echo $PATH to show it) and make the script executble with the following command:
$ chmod ugo+x gm2.sh
And, at last... Enjoy Modula-2!