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!