Compilers Text Editors and IDEs Tutorials Papers Libs Sources Q&A Forums Lists Groups Links Downloads Pictures Guestbook


Recommended Links

GNU Modula-2

Modula-2.org home page

Modula-2.net home page

News Archive

You can find all the old news here. Please note that some of the links contained in the news entries are no longer valid as the archive is not checked for dead links.

[ top ]  The News from the beginning

Some weeks ago Gaius Mulley published instructions to use his Emacs mode for Modula-2 users (transforming the editor Emacs to a Modula-2 IDE). According to the developer it is still alpha but useful.
An interesting project was uploaded to GitHub written in ISO Modula-2 and using the ISO Modula-2 library: HPF - DT High Performance File Format high speed decoding library for Modula-2 called m2hpf. "This library is made to provide quick data access, to be used in real-time signal processing project, so for example; using this library to implement a HPF to CSV file converter will be much more efficient than using the Delsys File Utility."
An updated Q&D Tools package is available from the download area. The readme file contains more information and as often some gems about Modula-2 from the past: "I recently reread a Science-Fiction and Fantasy series I had liked a lot aeons ago (circa 1995 I guess). Written by a Rick Cook who was a contributor to *Byte* magazine, it features a hero wizard programmer who is abducted in a fantasy world where he creates a spell magical compiler in Forth. The first two books are the best, though the whole 5 books series is enjoyable for any programmer. It's not a masterpiece, but it's entertaining, well worth the price and the time.
I had *completely* forgotten Modula-2 was mentionned in the second book, *Wizardry Compiled*, though only in one sentence and not with excessive reverence : 'This thing is written in something that looks like a bastard version of Forth crossed with LISP and some features from C and Modula 2 thrown in for grins.'"
Andreas F. Borchert announced via comp.lang.modula2 that he has moved the historic sources of the ETH Zurich Multipass Modula-2 Compiler for the Lilith (and an emulator) to GitHub.
Recently I installed Kubuntu 19.10 on my trusty T420 notebook. As usual I installed some packages from the official repositories and stumbled upon - GNU Modula-2! The compiler is apparently available from the Debian testing and therefore also from the Ubuntu repositories, also as a cross compiler for different architectures (amd64, alpha, armel, armhf, hppa, i386, m68k, ppc64el, riscv64, s390x, sparc64). Good news!
A lot of people follow the development of GNU Modula-2 by reading the compilers mailing list, testing new functionality and developing their projects using the compiler. I guess that is why I sometimes do not mention this maturing GCC frontend even though there more often would be a lot of things I could talk about. Over the past months a lot of remarkable things have happened: Div Ceil overflow/underflow checking was implemented, the compiler detects range errors caused by calculating the modulus of whole numbers now, there also were changes to the master branch to remove libpth and use libpthread instead. "Hopefully this new implementation will be more portable". Gaius Mulley has invested a lot of time to improve error and warning messages. Great!
Michael Riedl published a number of interesting modules under an open source license (mostly LGPL). There are modules for numeric operations, string handling and a lot more. Also very interesting is the Modula-2 preprocessor which prepares modules for XDS or GNU Modula-2.
An updated Q&D Tools package is available from the download area. The 2019 package contains updates to a number of DOS and Win32 programs. The readme file of this package contains a quite critical but adequate diagnosis of the "progress" of programming over the past decades. Well, that's what I think -
Good news at last. Diego Sardina informed me a few days ago that Excelsior Modula-2/Oberon-2 is again available under a permissive Apache License (2.0). Thank you so much kind people at Excelsior for making this step!
Excelsior LLC from Novosibirsk, the company which developed, hosted and offered the XDS Modula-2 compiler, seems to have ceased to exist: "Excelsior is exiting the JVM and consulting businesses. This Web site will be taken down in the middle of June 2019." Does anyone know more? Quite a lot of people are wondering what has happened...
Again good news related to GNU Modula-2. An updated debian package amd64 gm2 gcc-8.2.0 has been released recently because of an important bugfix. Gaius Mulley also released gm2-1.9.1 (gm2 based on gcc-9.1) as a Debian package. "It has new options: -Wall, -Wunused-variable, -Wunused-parameter, -fm2-lower-case (...) this package is alpha - to allow easy experimentation."
Latest changes to the source tree of GNU Modula-2 have been reported to the compilers mailing list. There also is color in error messages as well as a new option -fm2-lower-case which renders keywords in error messages in lower case.
Kai Nacke, developer of m2lang, the below mentioned LLVM-based Modula-2 compiler also published Modula-2 syntax highlighting and snippets for Visual Studio Code.
Please note my new email adress modula2 at christophschlegel.at - I cannot stand ads any longer.
A new Modula-2 compiler project called m2lang - The LLVM-based Modula-2 compiler is available at GitHub. Here is a short abstract of the project: "With LLVM, one of the main tasks of an compiler engineer is to design the IR code generation from an abstract syntax tree (AST). How easy is it? Although I have worked with and on LLVM for several years now I have not yet written an compiler from scratch. So I began to work on my own compiler for an simple yet powerful language: Modula-2. In this talk I introduce the architecture of the m2lang compiler. My main focus is the generation of basic blocks and IR code from the AST. I show which general patterns emerged and which areas of the languages caused trouble. I also give hints when it is useful to introduce yet another intermediate language between the AST and the IR." Available under the terms of a BSD license.
An updated Q&D Tools package is available from the download area.
Gaius Mulley informed via the compilers mailing list that a GNU Modula-2 package is now available for the avr series of microprocessors: "I've just built gm2 as a cross compiler and produced a debian stretch package."
And Philip Munts informed via comp.lang.modula2 that he was able to build a native GNU Modula-2 compiler package for Debian Stretch on the BeagleBone: "It took about 9 hours to build on a SanCloud BeagleBone Enhanced with 1 GB of RAM. I wasn’t able to build successfully on a regular BeagleBone with only 512 MB of RAM. Packages built from 8.2.0+gm2-git-latest for the BeagleBone, Raspberry Pi 1, and Raspberry Pi 2 (as well as x86 and x86-64) are available from my Debian package repository at http://repo.munts.com/debian9. These packages install everything in /usr/local/gm2."
Benjamin Kowarsch published a paper entitled "On the Maintenance of Classic Modula-2 Compilers". The paper reflects knowledge gained by updating the MOCKA Modula-2 compiler. Here is the complete abstract: "The classic Modula-2 language was specified in [Wir78] by N.Wirth at ETH Zürich in 1978. The last revision [Wir88] was published in 1988. Many computer science books of that era used Modula-2 in programming examples. Many of these are still valuable resources in computer science education today. To compile and run the examples therein, it is essential to have compilers available that follow the classic Modula-2 language definition and run on modern computer hardware and operating systems. Although most Modula-2 compilers of that era have disappeared, a few have since been re-released under open source licenses. Whilst the original authors have long ceased work on these compilers, new maintainers have stepped in. This paper gives recommendations for maintenance on classic Modula-2 compilers while balancing the aim to modernise with the need to maintain the capability to compile programming examples in the literature with minimal effort. Nevertheless, the principles, methods and conclusions presented are adaptable to maintenance on other languages."
Not only has GNU Modula-2 1.8.2 been released. New Debian packages for x86_64 stable are available as are slides (and video screencasts) from a talk given at the GNU Cauldron 2018.
The internet is a great "place". Is it? Every now and then I am so annoyed I declare the whole project "failed" but then there are people who work together and create amazing things or just provide information that seemed to be lost. As happened yesterday. User Nemo asked for MBURG in comp.lang.modula2. A few weeks later Franck Pissotte made available the complete package. Thank you! "MBURG is a bottom up tree rewriter in the general style of IBURG. It has a somewhat different implementation, and produces its output in standard Modula2."
There is a project called Amiga Source Preservation. These people care about computing history: "Now that code is part of our history, our computing history. And we want to preserve it, so that future generations might have a glance of a part of our computing evolution. But, we also enjoy the thought of current and future hobbyists running code on their retro platforms, and even being able to fix bugs." A recent post is called The hunt for Benchmark Modula-2. An interesting read about searching for people and software. As a result, Benchmark Modula-2 is now available at GitLab!
User Oric4ever published Modula-2 solutions for the Advent of Code 2017 recently. "Advent of Code is a series of small programming puzzles for a variety of skill levels. They are self-contained and are just as appropriate for an expert who wants to stay sharp as they are for a beginner who is just learning to code. Each puzzle calls upon different skills and has two parts that build on a theme." An interesting project especially because Oric4ever solved the puzzles using Turbo Modula-2 for CP/M 80 running on a machine called Oric Phoenix.
Benjamin Kowarsch announced the availability of a new version of the MOCKA Modula-2 compiler via comp.lang.modula2. "I updated the source to fix the glitches, added a copyright notice display and a version command to the interactive mode of the compiler and updated the copyright comments. I also cleaned up the formatting in those files where I made changes." Path defaults that are hard coded into the compiler did not comply with *nix standards. The updated compiler was changed to follow this convention. A changelog is available as well. This is very valuable work to keep a good compiler usable.
Andreas F. Borchert uploaded two historic Modula-2 compilers to GitHub.com a few days ago. There is modula-m68k, a historic Modula-2 compiler for the Motorola 68020 architecture and there is modula-3200, a historic Modula-2 compiler for the minicomputers of the Perkin-Elmer 3200 series running XELOS. Both compilers were derived from the original ETH Modula-2 compilers. Mr. Borchert provides valuable information about the development of both systems. Even more information is here.
Gaius Mulley published a screencast and some installation instructions for users of emacs who wish to edit Modula-2 files. The video gives a small overview of some of the functionality in gm2-mode.
Philip Munts also recently wrote to the gm2 mailing list to announce "some GNU-Modula-2 native compiler packages for Debian Stretch running on amd64, i386, and Raspberry Pi (Raspbian) platforms". These packages install the GNU Modula-2 compiler in /usr/local/gm2 rather than /opt/gm2. "Modules for libsimpleio are under development. Cross-compilers for the Raspberry Pi and BeagleBone microcomputers are also under investigation."
A growing number of people release their code at GitHub.com. A special project I found there is KeyDex by Guido Hoss. Here are parts of the programs description as provided by the author: "KeyDex was an information retrieval system for MS-DOS with a text-mode UI and menu system. (...) Minimum system requirements at the time were: 256K RAM, MS-DOS 2.0 or greater. I wrote the source code for the Logitech Modula-2/86 compiler, version 3.00. I'm publishing my efforts of past times under the GPLv3 license for the enjoyment and education of the generations after me."
In the series of things/milestones/events/releases I missed during the past months I want to add the update of YAZE-AG to version 2.40.5. YAZE-AG is "Yet Another Z80 Emulator" written by Andreas Gerlich (which contains the CP/M Turbo Modula-2 compiler written by Peter Sollich and Martin Odersky). The update is available since february. The documentation of Turbo Modula-2 is available (.pdf). An amazing compiler with interesting extensions on top of an amazing Z80 emulator.
An updated Q&D Tools package is available from the download area. The author already sent the package to me in february - you can imagine how much time I have for Modula-2 at the moment. Have a look at this interesting package - it is worth your interest.
Apparently I missed the release of GNU Modula-2 version 1.6.4 which was released on July 27th 2017. gm2-1.6.4 grafts onto gcc-6.4.0. Binaries are available for the x86_64 architecture. Other changes to gm2 are described here, here and here.
David Egan Evans put together an RPM archive (Redhat and Fedora Package Manager format) of a prerelease of the Amsterdam Compiler Kit. "The Amsterdam Compiler Kit is a cross-platform compiler and toolchain suite that is small, portable, extremely fast, and extremely flexible. It targets a number of low-end machines including the Z80, 8086 and 80386, but there are many other code generators available. It supports several languages, including ANSI C, Pascal and Modula-2, and contains integrated runtime libraries including a libc. The toolchain is mainly known as being the default toolchain for Minix 1 and 2; with a bit of effort it gives you a complete ANSI C toolchain which will run in a 64/64kB address space on an 8086. The ACK runs on Unix systems; most development happens on Linux." This is quite an interesting system. You may need some time to get used to it and its usefulness as always depends on the things you want to do. But for sure it is worth a look. It is great to have the new package available as compiling the kit was not always easy. Thanks!
Back in an entry from 02/26/2017 I asked for available information on Modula-2 systems used in former Eastern Germany, officially called the DDR. Stefan Mannsfeld kindly sent me the DCP compiler (v2.0) from late fall 1989 (East Germany had just collapsed then) which seems to be a modified version of the M2MPC compiler from ETH / Modula Corp but appears to generate native code rather than M-Code (like the ETH compilers) to be run under an interpreter. The compiler can be run under emulator software such as DOSBox and compiles most of the PIM Modula-2 examples from the Coronado Tutorial.
ADW Modula-2 has been updated (June 28, 2017). A number of bugs have been fixed.
Philippe Guiochon recently pointed me to a paper by Dr. Bezroukov who wrote about Turbo Pascal, making a few comments about Modula-2. The paper was published as Pascal -- One of the Best Introductory Programming Languages".
Years ago Umberto Salsi wrote and published a Modula-2 compiler which I recently found by accident. The system builds on newer Linux systems and looks interesting. Here is a short description from the homepage: "Basically, M2 is a cross compiler from the M2 language to C. Array and dynamic structures are allocated automatically and deallocated when no more needed. The run-time checking prevent array index overflow and null-pointer dereferencing, so improving the robustness of the program. All the programmer must take care of is the algorithm, all the rest is in charge of the language." License: "The M2 language and the M2 developing system are released under a BSD-style license (see the file LICENSE for details). The M2 compiler generates C source compilable with the gcc compiler, released under the GNU GPL license. Some of the C libraries used by gcc are part of the GNU operating system and are released under the GNU GPL license."
GPM/CLR has moved to Github. "GPM/CLR is an implementation of the historical Gardens-Point Modula-2 compiler for the .NET runtime. It provides an example of how a non-typesafe, unmanaged data compiler may be implemented on the CLR."
And by the way. I am quite excited as I built GNU Modula-2 on trunc of GCC following instructions by Gaius Mulley. GM2 as part of GCC 8!
GNU Modula-2 1.2.0 has been released. Main improvements are bug fixes, much improved source line debugging and enhanced source line to code correlation via -fm2-g. "Internally the compiler is now bootstrapped using mc rather than p2c and there have been some substantial inner module changes."
Gunter Mueller opened a number of repositories over at GitHub.com. You can find a repository called Mocka_Modula-2_Compilers_and_Murus containing the Mocka Modula-2 compiler (for Linux) and the Murus library by Christian Maurer (fixed, so everything will compile on 64-bit Mint Linux). Also, there is a repo containing the MTC translator by M. Martin. Last but not least, you can find a copy of the GMD_Compiler_Construction_Tools and a repository containing source in Pascal, Modula-2 and Oberon for PL/0 and Oberon-0 from Niklaus Wirth's book about Compiler Contruction. While most of the sources are maybe dated today it is great to have them available like this. Thank you.
An interesting project related to Modula-2 and Modula-2 R10 was started a few months ago: m2sharp is a Modula-2 to C# Translator and Compiler. A short description from the readme: "M2Sharp is a multi-dialect Modula-2 to C# translator and via-C# compiler. It supports the dialects described in the 3rd and 4th editions of Niklaus Wirth's book "Programming in Modula-2" (PIM) published by Springer Verlag, and an extended mode with select features from the revised language by B.Kowarsch and R.Sutcliffe "Modula-2 Revision 2010" (M2R10).
In translator mode, M2Sharp translates Modula-2 source to C# source files. In compiler mode, M2Sharp compiles Modula-2 source via C# source files to object code or executables using the host system's C# compiler.
PIM dialects are supported to allow compilation of program examples from Modula-2 literature which is largely based on PIM. Extended mode is supported to facilitate bootstrapping of a full implementation of M2R10 targeting the CLR."
An updated (and I may have to accept a last one) Q&D Tools package is available from the download area. The author (who invested a lot of time to port his programs to be available on newer Windows operating systems) finally writes: "Final update ! I was about to write Yet Another Useless Program, a small spellchecker (hence CHKSPELL subarchive and its words lists), when I suddenly realized I no longer felt any fun while programming, even in Modula-2. I may be getting very old, but I'm really tired of fighting against the tide of stupidity in many domains, including (but not limited to) computers. I give up. I get away from it all now. QDTOOLS.ZIP freeware archive will no longer be publicly updated. This is final." And this is a sad moment at last - but of course, lifes change, things change. I want to thank Philippe Guiochon for providing his work and underlying ideas for interested people. Have a look.
Recently I was pointed to some fragments of information about Modula-2 compilers used in the DDR (former Eastern Germany). From Robotron Technik, a site dedicated to computers designed and produced in former Eastern Germany: "MODULA ist ein Abkömmling von PASCAL und kam auf den 16-Bit-Rechnern (A7150, EC1834) unter dem Betriebssystem DCP zum Einsatz. Der SCP1700-Modula-Compiler kostete 1375 Mark, der Preis des DCP1700-Modula-Compilers wurde mit ca. 1050 Mark gehandelt." The information is in German language and means there were computers called A7150 and EC1834 on which Modula-2 was used. Does anyone know more about the mentioned compilers SCP1700 Modula-2 and DCP1700 Modula-2?
A final release with the version number 2.40.3 of YAZE-AG - Yet Another Z80 Emulator by Andreas Gerlich (which contains the CP/M Turbo Modula-2 compiler written by Peter Sollich and Martin Odersky) is available since january. The documentation of Turbo Modula-2 is available (.pdf). An amazing compiler with interesting extensions.
An updated Q&D Tools package is available from the download area.
In August Dr. Milos Radovanovic published a project called C2 - a Modula-2 to C++ translator written way back in 2000/2001 when still being a student.
Apparently I missed a lot of news in the time of my absence. A few months ago Excelsior published an IDE based on Eclipse for their XDS Modula-2/Oberon-2 compiler under the Eclipse Public License. I still have to test it but already played with it. I am really impressed. And yes, this compiler is really fast -
I have to apologize for a long time without updates. So I do. I still do not know how things will develop or work out in the near future so you'll just have to be patient. I hope to find time for Modula-2 and updates and news items. Let's see. Meanwhile feel free to send me news you want to see posted -
What happened since march? Some of the news summarized in a few lines: Gaius Mulley informed (via the compilers mailing list) about building GNU Modula-2 as a cross compiler for the avr using the latest gcc-4.7.4 graft of gm2. Mr. Mulley also gave a talk about the status of GNU Modula-2.
Interesting work has been done by the group around the M2C Modula-2 Compiler & Translator Rework Project. Files for using the editor VIM as an IDE for Modula-2 (PIM, ISO, R10) are available.
Mr. Evans provides a 32bit RPM build of Mocka Modula-2 now.
A fresh build of ADW Modula-2 is available from Modula2.org.
A Modula-2 program was added at Archive.org in february. Draughts for Windows written by Jim Corbett and David McAuliffe in Topspeed Modula-2 Version 3.0 for Computer Systems BSC. This was a final year project at University of Limerick. The program can be launched and played online.
GNU Modula-2 1.1.6 has been released yesterday. The changelog has more.
An updated Q&D Tools package is available from the download area. The stand alone package Text Generator (textgen) has been updated accordingly and there also is a new separate package (DOS and Win32) called CheckSum (cs): "This program computes checksums (syntax 1), verifies checksums (syntax 2), compares two logs (syntax 3), or rebuilds data for each log entry (syntax 4)."
Sometimes I make an exception and post a news item not immediatly related to Modula-2. Now this one is about Mesa, a predecessor of Modula-2 which was important for Modula-2 and had influence on Niklaus Wirth when he developed Modula-2. Mesa was a ALGOL like systems programming language. "Mesa programs look quite similar to Pascal programs when viewed in the small. However, Mesa provides and enforces a modularization capability that is far more powerful than that of Pascal. In Mesa, you build large systems from a collection of smaller, separately compiled components called modules." Does that sound familiar? There is a project now "to preserve and present primary and secondary source materials (including specifications, source code, manuals, and papers discussing design and implementation) from Mesa, the system programming language". And a lot of stuff can be downloaded from Bitsavers. Have fun.
Again some interesting applications that are part of the Q&D Tools package have been ported to the Windows operating system by the author. Find the ports as well as the original programs in the download area. Sources are available but please keep in mind these programs come with a special license included in the archives.
[UPDATED] Now here are 2 interesting projects I apparently missed until now. Francesco Sblendorio wrote mod-xterm-cpm (XTerm for CP/M) using Turbo Modula-2 under CP/M on a Commodore 128. "Cross-Terminal is a Modula-2 module for CP/M. Handles different kinds of terminals (VT100, ANSI, ADM-31, KayPro, C128) for easy cursor positioning, colors (when available), and screen handling." The project is under active development. I like projects like this one and sometimes think of (if I had more time) buying a computer from these old days.
The second project is Gorilla.BAS - CP/M version, a port of GORILLA.BAS to CP/M written also in Turbo Modula-2. "This is a Modula-2 (despite the name) implementation for CP/M of the classic "GORILLA.BAS" BASIC game included in MS-DOS 5.0." A video is available.
A few weeks ago Mr. Guiochon sent me a number of programs (also available as part of the huge Q&D Tools package by the same author and also available from the download area) ported to Windwos using XDS Modula-2. Two more of these ports including the original DOS versions (developed using Topspeed Modula-2) are now available from the download area.
Benjamin Kowarsch published an operational new front-end for M2C and is looking for testers. There is a Wiki page with more information on testing and using the translator.
Now this is an old but interesting story which was published in 2007 - it is about building good computers, Modula-2 and the hard to understand things that seem to happen to people and companies quite often. Sage and Stride were the names of Motorola 68K based systems produced in the 1980's by SAGE Computer Technology (a later on often renamed company). More information on operating systems written in Modula-2 for these boxes is available in the Q&A section ((B) and (C)).
CudaText is a cross-platform text editor - somehow a successor of SynWrite - created with Lazarus which can easily be extended to support Modula-2 syntax highlighting. The program can utilize the lexers written for SynWrite.
An updated Q&D Tools package is available from the download area. "There are a few updates and improvements, most prominent in UCLONE and VITAL (for next UBCD release)." The package has now gotten its own subsection as the author ported two programs to Win32 using XDS Modula-2 which are offered separatly.
A mirror of the US hosted Modula-2 R10 website is now available at http://modula-2.info/m2r10. A message to comp.lang.modula2 provides more details on future plans related to Modula-2.info and Modula-2.ch.
Philippe Guiochon (developer of the Q&D Tools package) recently pointed me to Engineering Flight Simulator, "a real-time engineering flight simulator, developed in the Department of Automatic Control and Systems Engineering at the University of Sheffield". The FAQs contains the following information: "Originally, back in the late 1980s, the software was written in BCPL, using scaled fixed-point arithmetic, running on the AtariST and custom Motorola 68000 hardware. The software was rewritten in Modula-2 in the early 1990s to run on PCs. In 2007, the software was rewritten in C, despite the authors view that Modula-2 is the natural choice for any complex software system." Natural choice. Well said. More information is available here and here (both links point to pdf documents).
Due to users requests a RPM package of GNU Modula-2 is now available.
You may also be interested in the latest threads in comp.lang.modula2. There are very interesting discussions about the development of Modula-2 R10 and possible ways to collaborate with the members of the project. As always in usenet, don't get distracted by the titles of the threads. There is much more in these than one can tell by the titles.
Apparently I missed a series of articles on Modula-2 R10 published by Rick Sutcliffe between may and september this year (also available from MacTech.com). An interesting read demonstrating the power of the new Modula-2 dialect. Use the second source to avoid being involuntarily transfered to a WebRing site which seems to hijack visitors of the pages of Mr. Sutcliffe.
There once was a small company started by two boys who were just out of school... No, I am not talking about Microsoft but about Trados GmbH (But Wikipedia informs about relations to Microsoft: "In 1997, the company received a major boost when Microsoft decided to use Trados for its internal localization needs"). Today the translation software is still available from SDL plc. But it all started out in 1984 with a program written in JPI Modula-2, as a kind visitor of these pages pointed out. Some details on the history of Trados are available.
Docs of Logitech Modula-2 (v1, 2 and 3) have been saved to Bitsavers.org in september and have therefore also appeared on Archive.org.
GNU Modula-2 1.1.5 was released yesterday (Changelog). Updated Cygwin32 binaries are available from the download area.
As well new from the download area is a program written (and ported to Windows) by Philippe Guiochon. Mod2htm32.zip is a port of the DOS program mod2htm which is part of Q&D Tools. As the name says the programs function is to create HTML code from your Modula-2 source files. Notes by the author: "Here is a quick port of MOD2HTM to Win32 platform using XDS TopSpeed Compatibility Kit (XDS 2.6 beta2). As shown by conversion tests launched on dozens of files, it seems to work. Note this Win32 version expects sources to use Windows OEM character set." Lots of available options make this program a more powerful than it looks at first glance. Sources are provided but please note the enclosed license.
I added the ATOM editor to the list of editors with Modula-2 syntax highlighting. ATOM claims to be a "hackable text editor for the 21st Century" which is available for a lot of platforms (basically Linux and Windows). It is a powerful program coming with Modula-2 syntax highlighting which can be installed via the internal package management system of the program. The download is huge (70MB+) but the program looks promising.
Latest changes to the 4.7.4 branch of GNU Modula-2 have been reported to the GM2 mailing list.
Everyone who knows comp.lang.modula2 knows it is not a very noisy group. If you take the archives of Google you don't find a discussion in the last 10 years which came near this one called "Modula-2 & GUI apps" (120 posts+ and still counting). The title doesn't say it all, as usual in usenet topics are there to also provide room for all that is more or less off topic. Nevertheless, an interesting read.
An updated version of the QDTools package by P. Guiochon (scroll down to find a short description (05/05/2015)) is available from the download area. The author writes: The archive "contains 170 TS JPI M2 DOS various programs (148 with source code), 14 PB DOS programs (10 with source code) and 12 VB programs (all with source code). As usual, there are quirkfixes, enhancements and a few new programs".
Also latest changes to the 4.7.4 branch of GNU Modula-2 have been reported to the GM2 mailing list.
There are some things I find searching the web which I usually do not publish. They are somehow interesting for me, but I am not sure if anyone else would find their publication interesting. Here is one nevertheless: Nicolas Juillerat wrote two games in Modula-2, the less portable one called ChaosCastle runs on MacOS and Amiga and may be downloaded from his site.
And for the rest there is an article back from 1989 called Comparing Modula-2 and C++ written by Scott Robert Ladd and published in Dr. Dobb's Journal. Includes source code. Interesting, in my opinion - as we now know how things developed.
Latest changes to the 4.7.4 branch of GNU Modula-2 have been reported to the GM2 mailing list. Updated binaries for Cygwin32 are available from the download area.
Jan Verhoeven recently announced a new project: "I have succeeded in making a foreign module for Mocka Modula-2 so I can create SIMPLE x11 windowing and control applications. Read more about it on http://fruttenboel.verhoeven272.nl/mocka/simplex11.html. With small modifications it can be used for other Modula-2 versions around. Use it. Publish it. Let's make a fast alternative to Tcl/Tk." Also added to the Q&A section.
David Given informed via the projects mailing list that the repository of the Amsterdam Compiler Kit has been migrated onto GitHub. "All branches and tags have been converted to git branches. It's now accessible via Mercurial, Git and SVN, so hopefully this should be a net win."
There is a Wiki for Modula-2 R10 now which already contains a lot of information about the revision of the language Modula-2 done by Benjamin Kowarsch and Rick Sutcliffe.
You will also note a lot of corrections and additions to these pages. Most important I extended the Questions and Answers section over the last few weeks.
Which reminds me to ask: I am very interested in people who know more about The StarLite Project. Here is a short description of the project (final report from 1989): "The components of the StarLite environment include a Modula-2 compiler, a symbolic debugger, a profiler, an interpreter for the architecture, a window package, a simulation package, and a concurrent transaction execution facility. The compiler and interpreter are implemented in C for portability; the rest of the software is in Modula-2. The environment has been used to develop a non-proprietary, UNIX-like operating system that is designed for a multiprocessor architecture, as well as to perform experiments with concurrency control algorithms for real-time database systems. Both systems are organized as module hierarchies composed from reusable components." Anyone?
GNU Modula-2 1.1.4 was released yesterday. Gaius Mulley reports the the GNU Modula-2 mailing list: "Given the fairly important bug fixes recently (-v option, terminal i/o and command line arguments) it seems a good time to release another version (1.1.4). I'm about to build all debian packages with a new release of gm2 although at present I've only built debian wheezy. Having up to date packages should make for easier testing."
An updated version of the QDTools package by P. Guiochon is available from the download area. QDTools is the name of an impressive collection of various useful utilities for the DOS-commandline which are also usable under different Microsoft Windows operating systems. Some but not all sources are available. "QDTOOLS.ZIP archive is probably the largest Modula-2 compilation available today (about 150000 lines of code), for it included, the last time I cared to check, 161 TS JPI M2 DOS various programs (141 with source code) as well as 12 PB DOS programs (10 with source code) and 12 VB programs (all with source code)." And "Note QDTOOLS.ZIP distribution and usage policies *ARE* restrictive : it's a *freeware*, but definitely *NOT* public domain nor even GPL. You can use these tools without any cost, but they're not yours." Please note that some programs that are part of the package are now distributed as part of Ultimate Boot CD.
The Modula-2 R10 project has finalised the design of its revision and started work on a bootstrap compiler. Please note not all documents in the online repository are already up to date. Fund raising for further development has also started. Please help funding the Modula-2 R10 development work by making a donation.
Other news: An interesting article titled Does Type-Safety Guard Against Buffer Overflow? was published at "The Knights Of Type - If it's not type safe, you're doing it wrong".
GNU Modula-2 1.1.3 has been released recently. Gaius Mulley reports the the GNU Modula-2 mailing list: "Also built are debian, wheezy and jessie packages for 64 bit amd/intel systems. I've also built an armv7l deb package for anyone with an Odroid arm system. (Mine runs Ubuntu 14.04.2 LTS, Trusty Tahr). This is the first time gm2 has been built into an arm package."
The Pygments Modula-2 lexer was updated recently and gained independency of the Pascal lexer. This is a collaborative effort of a group working on compilers and the ongoing development of Modula-2. Test results for the lexer are available for a variety of Modula-2 compilers. Note the lexer has an Algol mode, which is a rendering style inspired by the style used in the Revised Algol-60 Report which influenced how algorithms are presented in academic papers and text books to this day. Pygments is a generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications that need to prettify source code. The Pygments syntax highlighting framework is used by numerous sites all over the web. You can of course use it too -
Other news: An updated version of ADW Modula-2 (ADWm2Free.16.zip (Jan 20, 2015)) is available from Modula2.org.
Carl Glassberg created a blog called Modula2Squad.com: "This blog will focus on Modula-2 programming. I hope later to post examples showing how to call assembly language from Modula-2." For now there are example programs related to ISO Modula-2 Text Filters which are explained in more detail in comp.lang.modula2. Interesting work!
[Updated] Do you have an interesting screenshot related to Modula-2 which I could add to the pictures section? Update: A number of screenshots of TopSpeed Modula-2 were contributed. Thanks a lot.
Binary packages of GNU Modula-2 ready for installation are now available for Debian Jessie which is the testing distribution of Debian (at the moment). Simple install instructions are part of the announcement posted by Gaius Mulley.
Chris Burrows pointed me to the recently made available Benchmark Modula-2, a compiler developed by Leon Frenkel which is now available including the manual. The downloadable ISO image contains the compiler, editor, source level debugger and demos. A review of the system is available (search the listing for "Modula-2", the review is in four .jpg files named p059.jpg-p062.jpg).
Other news: Aglet Modula-2 (a compiler for AmigaOS 4 PPC) has a new home and due to a visitors request I increased the contrast of the Modula-2 Pages. And by the way: Have you ever heard of Laser Chess?. Wikipedia: "Laser Chess first appeared in Compute!'s Atari ST Disk & Magazine in 1987, written in Modula-2. It won the $5,000 first prize in a programming competition held by the magazine."
Gaius Mulley released GNU Modula-2 1.1.0 today! "I've just released gm2-1.1.0 and built packages for x86_64 and i686 architectures debian wheezy. If you are running a production system it might be advisable to migrate from the gm2 grafted on 4.1.2 to this release which is grafted onto gcc-4.7.3. Also built is gm2-avr a cross compiler hosted on x86_64 and targeting Atmel series of microprocessors. On Debian Wheezy i686 and x86_64 it passes all regression tests." Please follow the given link to read the whole announcement. Updated binaries for Cygwin32/Windows7 are available from the download area.
The new year has come and so I invested some work into the organisation of this page and dead links. Some files which disappeared from the net are now available from the download area. The libraries and sources section was updated and kind of "deorganised". The structure was from days long ago, when FTP-servers and DOS-compilers ruled the net and the heads of most people programming. Some new links were also added, for example a link to a version of p2c for NeXT workstations or a section about literate programming in Q&A. Have fun. And of course I wish all of you a happy new year.
An updated version of the QDTools package by P. Guiochon is available from the download area. QDTools is the name of an impressive collection of various useful utilities for the DOS-commandline which are also usable under different Microsoft Windows operating systems. Some but not all sources are available. "QDTOOLS.ZIP archive is probably the largest Modula-2 compilation available today (about 150000 lines of code), for it included, the last time I cared to check, 161 TS JPI M2 DOS various programs (141 with source code) as well as 12 PB DOS programs (10 with source code) and 12 VB programs (all with source code)." And "Note QDTOOLS.ZIP distribution and usage policies *ARE* restrictive : it's a *freeware*, but definitely *NOT* public domain nor even GPL. You can use these tools without any cost, but they're not yours."
Latest changes to the 4.7.3 branch of GNU Modula-2 have been reported to the GM2 mailing list. Great news: "I'll be changing the web pages to advise any production system to use x86_64 Wheezy and gm2 from the 4.7.3 base - as there are no known failures on this platform." Updated binaries for Cygwin32 are available from the download area.
There are a lot of languages in the tradition of Modula-2. Here are some exotic members of the family: (1) According to Wikipedia M2001 "is a modular educational mathematical programming language for developing and presenting mathematical algorithms, from the modern discrete to the classical continuous mathematics. M2001 is built on a semantic framework that is based in category theory and has a syntax similar to that of Pascal or Modula-2". (2) Alma-0 "is a multi-paradigm computer programming language. This language is an augmented version of the imperative Modula-2 language with logic-programming features and convenient backtracking capability.[1] It is small, strongly typed, and combines constraint programming, a limited number of features inspired by logic programming and supports imperative paradigms". (3) Another language and development environment is JADE, "a proprietary object-oriented software development and deployment platform product (...). It consists of the JADE programming language, IDE and debugger, integrated application server and object database management system". The concepts and ideas introduced with Modula-2 are very alive -
I am happy to announce Sinuhe's Modula-2 (M2) compiler and translator to C, a fork of m2c-0.6, written by Vladimir Makarov in C.
Mr. D. E. Evans, who has kindly decided to save this program from extinction summarizes: "Bug fixes have been made to the standard library, the code base has been cleaned up for c99 builds, architecture support has been improved and simplified, and an improved coroutine module has replaced the previous." m2c is free software covered by GNU General Public License Version 2. A ready to install RPM package is available from the homepage.
Some of us may be quite interested in an archive which was made available a few days ago in comp.lang.modula2. "In 1985/1986, BYTE Magazine ran a series of articles by Jonathan Amsterdam on VM2, a virtual machine written in Modula-2, and then a compiler for this machine." Read more here.
Latest changes to the development branch of GNU Modula-2 have been reported to the GM2 mailing list.
Recently I found one more interesting article by Niklaus Wirth called History and Goals of Modula-2. It was published in 2005 in Dr. Dobb's Journal and contains some ramblings about computers, languages, and commercialism.
Mr. Guiochon, a kind visitor of these pages (and author of the QDTools package - see below), sent me a newer version (1.04) of the TopSpeed Extended Libraries by Marco van de Voort which is now available from the download area. The author of the package has stopped developing it for a long time now but hey - this is a place were people care about small differences. XtdLib (eXTenDed LIBraries) is a library for TopSpeed Modula-2 3.1x. Here is a short description by Marco van de Voort: "The original highlights were a pulldown system on top of module window, and a helpfile system."
Latest changes to the development branch of GNU Modula-2 have been reported to the GM2 mailing list: "All regression tests pass under Debian Wheezy amd64. (There are technically 12 failures - but these are really extreme programming test cases (for code yet to be written) rather than regression tests in the true sense)." Congratulations! Gaius also reports gm2 has built as a cross compiler for avr.
Updated GNU Modula-2 binaries (10/03/2014) for Windows7/Cygwin32 are available from the download area.
SynWrite was updated recently (2014-09-09). "SynWrite is a free source code editor, HTML editor, and Notepad replacement for Windows systems. It tries to be a full-featured alternative not only to simple Notepad, but also to such rich applications as Notepad++." I want to add: it does not only try. This is a great application. You have to install the Modula-2 Lexer from an archive distributed with the program (found in the readme subdirectory). Some of us may also want to add ".def" to the Modula-2 file extensions. SynWrite is in the list of editors with Modula-2 highlighting for a long time.
An updated version of the QDTools package by P. Guiochon is available from the download area. QDTools is the name of a collection of various useful utilities (the Readme linked here is a nice read including some thoughts about programming which remind me of things Niklaus Wirth said - and I get kind credits by Mr. Guiochon in there) for the DOS-commandline which are also usable under different Microsoft Windows operating systems. Some but not all sources are available. "QDTOOLS.ZIP archive is probably the largest Modula-2 compilation available today (about 150000 lines of code), for it included, the last time I cared to check, 161 TS JPI M2 DOS various programs (141 with source code) as well as 12 PB DOS programs (10 with source code) and 12 VB programs (all with source code)." And "Note QDTOOLS.ZIP distribution and usage policies *ARE* restrictive : it's a *freeware*, but definitely *NOT* public domain nor even GPL. You can use these tools without any cost, but they're not yours."
An updated package of ADW Modula-2 (Build 1.6.281 - August 12, 2014) is available from Modula2.org. A number of interesting example modules and programs were also made available. I am happy this fine piece of software is back.
[Update: the items are no longer available] Mr. Otten sells 2 interesting items. Usually I don't advertise for others but this is an exception. There is M2SDS Modula-2 Software Development System (which is new to me) and a copy of the original Modula Corporation Modula-2 for the IBM-PC.
Gaius Mulley posted a message to the GNU Modula-2 mailing list announcing significant changes to the sources of GNU Modula-2. Testing the compiler via Dejagnu won't work for some time. "The huge benefit of this is that now gm2 builds using multiarch so when you build a cross compiler say for the atmel series of microprocessors, the build process builds a per target set of iso, pim, logitech etc libraries."
Rick Sutcliffe posted some interesting thoughts about Modula-2 R10 after visiting WWDC 2014, the Apple Worldwide Developers Conference in San Francisco.
It's a pity some pages on the internet only exist in certain languages. One of these is at Homepage-DJ1YQ and put online by Franz J. Bellen. I have translated introductory parts of the page via an online Translator: "This homepage provides amateurs who are interested in the physics of satellite orbits and satellite communications, including the associated mathematics and data processing, technical articles, graphics and Software." Most interesting, the software is written in Modula-2 and can be requested at the authors email adress. You may also download a lot of articles related to the topic in German language.
Once upon a time there was a company called Nixdorf Computer AG which was later bought by Siemens. And some CVs and other bits and pieces found in some corners of the internet reveal that there was some strange system developed by this company called X/SDE running on Nixdorf Targon computers (sorry, the article is in German language). Someone calls X/SDE a 4th generation system for Modula-2 programmers, elsewhere the thing is called Modula-2 interpreter. Who knows more? I did not even find books or documentation related to X/SDE - it seems there was a system called Alexander which should have become the successor of a software called Comet. I think Alexander was based on X/SDE and was never released (?).

Here is another article called Modula-2 language is worth it from the early days of the language. The described compiler sold by Volition systems was available for many platforms, targeting the UCSD-p virtual machine.
Jos Dreesen will demonstrate his running Lilith (ETH Modula-2 computer by Wirth/Ohran) at the Vintage Computer Festival in Munich this weekend. A rare chance to see this system in action. I'd go there if I still lived in Salzburg... [Update:] I am sorry to hear the last working Lilith computer is out of order at the moment.
Whatever you think of Google - they make things available which I would never have found without them. PC Mag 3. Apr. 1984 contains a number of articles about Modula-2: For example The Making of Modula-2. Just read on to find a picture of Niklaus Wirth with the Lilith computer, code snippets and introductory material about the language. This was the time when people tried hard to introduce Modula-2 to programmers around the world. Interesting times.
Recently I found an article in Russian language called The Modula-2 Software Kernel Based On 'elektronika-60' Microcomputer. Was there an operating system for this box written in Modula-2? The Electronika 60 was a computer made in the Soviet Union. It was a clone of the DEC LSI-11 which was quite important in the early history of Modula-2. Another computer from the Elektronika series was the UKNC, according to Wikipedia "a Soviet PDP-11-compatible educational computer, aimed at teaching school informatics courses. It is also known as Elektronika MS-0511". An UKNC emulator is available as well as two Modula-2 compilers (Link that brought me there). Here is another site preserving EGOSOFT Modula-2. Everything is in Russian language. That's why I cannot test if the compiler works with the emulator. Does anyone know more?
[Updated] Latest changes to the development branch of GNU Modula-2 have been reported (second message, third message) to the GM2 mailing list. Gaius Mulley also reports a successful build on an Odroid U3 with promising regression test results.
Updated GNU Modula-2 binaries (03/19/2014) for Windows7/Cygwin32 are available from the download area.
Niklaus Wirth celebrated his 80th birthday. The Niklaus Wirth Birthday Symposium, organised by the computer science department of ETH Zürich, was a celebration of the life and work of Niklaus Wirth on the occasion of his birthday. Details about the talks and speakers are available here. The talk of Niklaus Wirth himself is also available (complete programme). Thanks to Chris Burrows for the hint!
Newspapers and media in Switzerland (other articles: [1], [2]) emphasized that the work of Niklaus Wirth predecessed Steve Jobs' work. The Lilith computer came with similar ideas but four years before the Apple. All the articles are in German language, maybe you can translate them using an online translator.
Chris Burrows has a great Modula-2 page called 'Lilith and Modula-2' (You may download historic versions of the original compilers written by Niklaus Wirth plus documentation there). Just like me he is interested in the history of Modula-2. Now he sent me a note that the Byte Magazine Volume 09 Number 08 - Modula-2 (August 1984) is available from Archive.org. This is a huge document containing a lot of interesting articles (by Niklaus Wirth himself, Jürg Gutknecht etc) and amazingly it contains a lot of old announcements for Modula-2 products (Modula Corporation, TDI etc). You may also download the .pdf which is 477 MB in size (!).
A new stable version (2.30.3) of YAZE-AG - Yet Another Z80 Emulator by Andreas Gerlich (which contains the CP/M Turbo Modula-2 compiler written by Peter Sollich and Martin Odersky) is available since january. The latest development version is YAZE-AG 2.31-11. This is a very impressive and interesting collection of software packages. The documentation of Turbo Modula-2 is available (.pdf). An amazing compiler with interesting extensions.
Ok, I didn't have enough time for Modula-2 since I last posted something so here is a small collection of accumulated news.
The latest snapshot of the Modula-2 R10 specification is dated january 25th (Changelog).
A new article called Mars One, Anybody? was published at "The Knights Of Type - If it's not type safe, you're doing it wrong".
Two messages posted to the GNU Modula-2 mailing list report latest changes to the compiler sourcess and a report about a successful build of GM2 for an Odroid U3 ARM board.
I have also rebuilt binaries for GNU Modula-2 Windows7/Cygwin32. The builds are available from the download area.
An updated version of the QDTools package by P. Guiochon is available from the download area. QDTools is the name of a collection of various useful utilities for the DOS-commandline which are also usable under different Microsoft Windows operating systems. Some but not all sources are available.
The latest snapshot of the Modula-2 R10 specification is available. A list of features debated but not adopted into the language is also there now. Work on the language definition approaches a design freeze and we will hopefully have a finished language report in our hands soon.
There is a new blog called The Knights Of Type - If it's not type safe, you're doing it wrong. As implied by the title and subtitle it is about "The promotion of type safety in software development". A number of highly interesting articles were published there over the past few weeks highlighting design decisions of Modula-2 R10 compared to Oberon and other strong typed programming languages. The introduction has more.
An updated specification of Modula-2 R10 (a modern revision of N.Wirth's Modula-2 language undertaken by B.Kowarsch and R.Sutcliffe in 2009 and 2010) is available from the projects homepage at bitbucket.org. Most important updates: (1) the pragma section has been completely rewritten, (2) terminology has changed and the (3) reserved word PLACEHOLDERS was changed to PIVOTAL (Please follow the provided links to get more information). The authors state that this update brings the project much closer to the design freeze they aim to achieve by December 31. Great news! I like this earnest and intense development process. I am really looking forward to use a R10 compiler -

Recent changes (messages) to the GNU Modula-2 compiler have been reported to the GNU Modula-2 mailing list. Freshly built binaries for Windows7/Cygwin32 (for both branches, grafted onto GCC 4.1.2 and GCC 4.7.3) are available from the download area.
Latest changes to the GCC-4.1.2 branch of GNU Modula-2 have been reported to the GNU Modula-2 mailing list. Gaius Mulley also published a short script which will download, configure, make and run the regression tests for either the 4.1.2 or the 4.7.3 branch of gm2 (for people who do not download the combined tarballs containing the testsuite). I rebuilt the binary packages for Cygwin32/Windows7 for both the 4.1.2 and the 4.7.3 branches of gm2. Please help to test.
I know the pages of Practicum Structured Programming Modula-2 at Vrije Universiteit Brussel (Have a look at their Modula-2 technology page!). But I must have missed the appearence of Wimdows, a library written by Wim Devesse. It is a small package which reduces the complexity of the Windows API. It is focused on creating simple games. The main components of Wimdows are: Graphics functions for drawing geometric figures (lines, rectangles, circles, polygons, ...), working with bitmaps, control of the mouse and keyboard, menus, buttons and text boxes. The library was written for use with the XDS Modula-2 compiler.
An updated specification of Modula-2 R10 (a modern revision of N.Wirth's Modula-2 language undertaken by B.Kowarsch and R.Sutcliffe in 2009 and 2010. (...) The primary design goals of the revision were type safety, utmost readability and consistency, and suitability as a core language for domain specific supersets. Targeted areas of application are systems implementation, engineering and mathematics) is available as well as a list of recent changes.
Latest changes to GNU Modula-2 (gcc 4.7.3 branch) have been reported to the gm2 mailing list. Up to date binaries for Windows/Cygwin32 are available from the download area.
[Updated] The cvs repository of GNU Modula-2 has been converted into a git equivalent. There were some changes to the structure of the repository which make it easier to build the compiler using a script provided by Gaius Mulley. This affects only people who do not use the prebuilt tarballs containing a patched GCC and GNU Modula-2. As there also were some bugs fixed I rebuilt the binaries for Windows/Cygwin32. The updated archive is available from the download area.
[Updated] A message to the GNU Modula-2 mailing list by Gaius Mulley reports latest changes to the sources of the compiler. I have rebuilt the binaries of GNU Modula-2 for Windows/Cygwin (10/29/2013) accordingly. You are of course invited to download and test the build.
An updated Debian package of GNU Modula-2 (GCC 4.1.2 branch) is available. The compiler in this branch was not updated but there were problems in the linking process on newer Linux systems.
The progress of M2R10 can be followed by studying the relevant documents which have recently been updated. Nice to see the project coming along well. Modula-2 R10 is described as follows: "Modula-2 R10 is a modern revision of classic Modula-2, undertaken by B.Kowarsch and R.Sutcliffe starting in 2009 and still very active. Primary design goals were type safety, utmost readability and consistency, and suitability as a core language for domain specific supersets. Targeted areas of application are systems implementation, engineering and mathematics. A particular strength of the design is a set of facilities to make library defined abstract data types practically indistinguishable from built-in types and thereby eliminate one of the primary causes of feature growth."
Earlier this year I mentioned the spreadsheets Surpass and Farsight from the CP/M and DOS days which were coded in Modula-2. Looking into this period of time a bit further revealed another bit of Modula-2 history published in WordStar History: "By 1985 a growing trend toward ease of use resulted in the appearance of a new category of word processor focussed less on features and more on usability. While MicroPro was developing its 'next generation' word processor, WordStar 2000, it felt obliged to add something in this easy-to-use class to its product line. The effort focussed around a modularly designed interface written using Modula 2 (programming language). This new interface was bolted onto the existing WordStar 3.3 text-processing engine. The result was released as MicroPro Easy." The product was a commercial failure but illustrated the strong need for easy to use interfaces. Seymour I. Rubinstein who founded MicroPro in 1978 seemed to be a strong proponent of Modula-2. The above mentioned Surpass spreadsheet was also created by a company formed by Rubinstein. I am searching for a screenshot of MicroPro Easy - anyone?
[Updated:] Gaius Mulley recently sent a message to the GNU Modula-2 mailing list giving some details about the progress the GNU Modula-2 compiler makes (other recent messages). This message made me try to build the compiler grafted onto gcc-4.7.3 on Windows 7/Cygwin. Everything went ok, so here is the new GNU Modula-2/Cygwin32 build. You have to create a directory called 'opt' in your home folder using the Cygwin shell, after that you copy the downloaded build to this directory and extract it there. After that you have to add the path to the compiler to the PATH variable by typing 'export PATH=~/opt/bin:$PATH'. You should then be able to build Modula-2 programs.
I recently found out Prime Computer, a company selling so called minicomputers in the 70ies and 80ies, used Modula-2 as official language inside the company for some time. Here are 2 snippets from the Comp.Sys.Prime FAQ: "Around 1987 the official language within Prime Engineering became Modula-2. Modula-2 ceased to be the "official" systems programming language after the second or third RIF (Reduction in Force = Redundancy) inside of Prime Engineering, as the compiler was never as good as SPL, even with some of its extensions (like INLINE procedures!) that SPL never had." But: "Modula-2 was not widely used in the Primos kernel, since the compiler writers who worked on it were reassigned around mid-1988. Various tools to replace the nice features of Modula-2 (such as strong type checking on procedure calls) were promised for SPL but never delivered (big surprise there). Modula-2 was used for the Machine-Dependent-Synchronization and Machine-Independent-Synchronization components of the kernel and actually worked out pretty well (I did some of that, and the type checking detected some problems that would have been a bitch to find at runtime)."
A new version (2.74) of ADW Modula-2 is available. Changes include unicode support for the library, lots of corrections and 64-bit code generation when using DIV and MOD on 8-bit values.
GNU Modula-2 does not only build now when grafted onto gcc-4.7.3, the compiler also builds hello world which is an important step as Gaius Mulley points out.
Other news: John O Goyo informed me that some parts of the documentation of Sun Modula-2 (being a predecessor of EPC Modula-2, which I also didn't know) are available at the homepage of Will Doherty.
Gaius Mulley recently reported to the GNU Modula-2 mailing list that changes were checked into the compilers sources to make gm2 build when grafted onto gcc-4.7.3. Building instructions are provided but it is emphasized that the status still is "very very experimental and there are major limitations. But at least it builds!" Testers are of course highly welcome.
Some articles (example) have recently been published about the announcement of IBM to end support of their Lotus programs in 2014. Old names come to memory such as VisiCalc, Farsight and Surpass. Did you know the latter were written in Modula-2? Even one of the most important competitors of Lotus 1-2-3, Borland Quattro Pro was (for some time) a Modula-2 program (being a successor of Surpass) and later ported to Turbo Pascal.
More and more articles from a time when there was no internet are made available online by magazines like Dr. Dobb's Journal or Computer Business Review. Here are two interesting examples which I enjoyed to read: What's New With Modula-2? by K.N. King (author of a famous book about Modula-2), gives an impression how people looked at Modula-2 in the 90s, and Niels Jensen explains how TopSpeed leaves Borland's Turbo compilers standing - an important date in the history of Modula-2.
A sidenote: As some of you may have noticed I have reorganised the pages to make the information in some areas more accessible. Some sections have also been deleted, some have moved. I hope most of the links (internal and external) are still working. Please report dead ones.
An interesting interview with Niklaus Wirth on Teaching Computer Science was published months ago by IEEE Computer Society. Wirth gives some insight on the development of Modula-2. As this is one more film in a line of interviews I added a section with videos to the local FAQ.
Other news: People using Aglet Modula-2, the compiler written by Tom Breeden, may find the work of Frank Ruthe useful: "While playing with Tom Breeden’s PPC native Modula-2 [AgletM2PPC] environment I really missed integration to CubicIDE. So I generated some new files for a *slightly* better IDE integration. You need Tom’s AgletM2 PPC port and his GoldED Modula-2 dictionaries and guide files." You can also find Aglet Modula-2 and Mr. Ruthes work on OS4Depot.
A new version (2.62) of ADW Modula-2 is available. A lot of bugs were fixed. As the format of SYM-files has changed you should delete existing ones and recompile your projects.
Recent changes to the gcc 4.7 branch of GNU Modula-2 have been reported to the gm2 mailing list.
And here is an interesting project: Rosetta Code "is a programming chrestomathy site. The idea is to present solutions to the same task in as many different languages as possible, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another". The link points to the Modula-2 section which is growing steadily. Contributions are welcome.
Chris Burrows informed me that Richard Gleaves' Volition Systems Modula-2 Manual is available at BitSavers now. Volition Systems Modula-2 was available for many platforms, targeting the UCSD-p virtual machine. If you are interested in the system you may want to join the UCSD Pascal Yahoo Group which is the right place to find people who know more.
Other news: I added SynWrite to the list of editors with Modula-2 syntax highlighting. The needed "lexer" comes with the program but has to be manually extracted and installed from an archive in the readme folder. You may want to change the Modula-2 file extensions from "m2 mod" to "def mod".
The multilingual compiler Strannik reappeared. There was no update but the original homepage of the compiler is online again.
Recent changes to the gcc 4.7 branch of GNU Modula-2 have been reported to the gm2 mailing list.
Carl Glassberg started a project to provide example text filters using ISO Modula-2. Here is a short description from the projects homepage: "ISO Standard Modula-2 (IS 10514) treats end-of-line in text files different from classical (PIM2) Modula-2. This project will provide text-filters written in ISO m2 that attempt to 'emulate' the classical m2 approach to end-of-line." The project was announced in comp.lang.modula2.
An interesting article about Borland Turbo Modula-2 If Only Borland Had Stuck With Turbo Modula-2 For CP/M by Lawrence Woodman was recently published at TechTinkering.com.
[UPDATE:] As the questions about Turbo Modula-2, Borland and TopSpeed Modula-2 are floating through the net for years now, here is some insight from the original developers of the Turbo compiler. Peter Sollich and Martin Odersky developed the Turbo Modula-2 compiler for CP/M which was then bought by Borland. Sollich later on joined Borland while Odersky worked as a Ph.D. student with Niklaus Wirth at ETH Zuerich. The process of the disappearence of Turbo Modula-2 is described in a thread (scroll down nearly to the end of the discussion) of comp.lang.modula2. If you read the provided links carefully you may join me in feeling a bit sorry about a great product which was kicked out of the way... You may want to play with Turbo Modula-2 by installing YAZE-AG - Yet Another Z80 Emulator by Andreas Gerlich which contains the compiler.
Care for a snippet of Modula-2 history again? A lot of interesting papers (try Formal Methods and Software Safety for a start) are available on the topic of "SACEM" which was the Paris Metro Signaling System. "The system (...) was composed of embedded software and hardware, the software part being composed of about 21.000 lines of Modula-2 code, 63% of which was deemed to be safety critical." Still very interesting lecture for those interested in the field of embedded and safety critical development. Also interesting for the average Modula-2 programmer. Imagine how many trains (the system was used for the french national network (SNCF), on the Paris suburban network (RER) and on the underground of Cairo, Calcutta and Lyon for example) depended on the software...
An updated version of the QDTools package by P. Guiochon is available from the download area. QDTools is the name of a collection of various useful utilities for the DOS-commandline which are still usable under different Microsoft Windows operating systems. Some but not all sources are available.
In case you have tried to visit the homepage of Objective Modula-2, Modula2.net or the homepage of Modula-2 R10 you may have feared the projects have disappeared (well, to be honest, I was really worried). They have not (underline!) but are alive and doing well. Their home Modula2.net will hopefully be back online soon. Meanwhile you can find the latest drafts of the Modula-2 R10 documents (specification) over at Bitbucket. An editorial to-do list is also online.
Gaius Mulley announced the availability of a new tarball containing a snapshot of GNU Modula-2 grafted onto GCC 4.7.1 and points out "It is probably not worth downloading (unless you want to see some development progress and the current state of play) as the compiler pretty much only compiles hello world. However I think no more code needs to be written just many many bugs need to be fixed."
Querying Archive.org for 'Modula-2' brings up some rather old but interesting documents and software packages.
I just added GDOS for the Gepard computer to a list of operating systems written in Modula-2. Available information about the Gepard is rare and mostly in german language. GDOS (Gepard DOS) was completely written in Modula-2. I found an announcement and some information by Thomas Tempelmann who worked for the company Gepard computer. Later he developed Megamax Modula-2 for the Atari ST computer. A short video featuring the Gepard is available. [UPDATE:] The shown setup was part of a project at the university of Giessen (AG Ionentriebwerke) in Germany where the Gepard seemed to be used to control an ion thruster. I am just translating what's told in the video because I was asked for details...
An updated binary build of GNU Modula-2 (GNU Modula-2 1.0.5 (20130107) grafted onto GCC 4.1.2) for Cygwin/Windows is available from the download area.
Recent changes to the 4.1.2 branch of GNU Modula-2 have been reported to the gm2 mailing list. This branch is the stable one at the moment while work is under way to integrate GNU Modula-2 into the GCC sourcetree. A number of modules have been added to the ISO Modula-2 library, "in summary (aside from the new modules) a compiler error has been fixed MAX(SHORTINT), MIN(SHORTINT), MAX(SHORTCARD), MIN(SHORTCARD) now work".
Modula-2 was sometimes used in military computers - if we like it or not. As always I don't want to discuss ideological matters but facts out of the history of Modula-2. There is an interesting article about Soviet Argon Research Institute. People there developed computers for use in aircraft missiles, space vehicles, space missiles and unmanned vehicle control systems, "including the Luna moon rover, as well as on Mir and Salyut orbital stations and transport spacecraft". Have a look at their onboard digital computer SB-3580 and its successor SB-5580 which could be programmed in Modula-2.
Did you - once again - miss Modula-2 textbooks under your christmas tree? You may then be interested in B.J. Holmes book Modula-2 programming. Large and usable parts of it are available via Google books. The author teaches Topspeed Modula-2 but knows ISO Modula-2 very well. It seems to have been one of the last (1994) textbooks about Modula-2.
Gaius Mulley added a new module to GNU Modula-2: "RandomNumber which provides a few procedures for obtaining random numbers on some basic data types. Also fixed a bug in the PIM Random module."
You may also be interested in a short article back from 2004 called An Evening With Niklaus Wirth by Alolita Sharma which I recently found by accident.
Gaius Mulley posted a message to the GNU Modula-2 mailing list telling us "that work is underway to migrate gm2 onto gcc-4.7.x (1) currently. I've been working on it since august 1st. There is still some way to go - estimated time of completion is Christmas - but my estimations are often incorrect". Well, I am for sure happy to wait as long as it takes - and I am happy to hear gm2 is well and coming along.
Other news: Jan Verhoeven pointed me to the ACK (Amsterdam Compiler Kit) mailing list. There is some noise in there and interested developers are of course invited to participate.
A few months ago Jos Dreesen uploaded a video showing the ETH Lilith Modula-2 computer, running its demoprogram created for the Comdex show. As Mr. Dreesen points out the video was created with the Lilith emulator Emulith he developed himself. There was even an OSNews-Story about this. Missed this one apparently...
A new draft of the M2 R10 specification (Sep 30) is now online, as usual the M2 R10 homepage provides extensive information.
An updated version of the QDTools package by P. Guiochon is available from the download area. QDTools is the name of a collection of various useful utilities for the DOS-commandline which are still usable under different Microsoft Windows operating systems. Some but not all sources are available.
Some people asked if Mocka, the Modula-2 compiler of GMD is still available as the links to download the compiler seem to have disappeared and the compiler is no longer part of Linux distributions. Don't worry, everything is there. A nice version is provided by Dr. Maurer, maintainer of Murus. There's also the original FTP site. And you can find the original Mocka compiler as well as a Debian package and a version producing very small executables in the download area of the Mocka and Modula-2 mailinglist. You'll have to sign in there to get access to the files.
Qnr (developer of Page Six, an IRC service bot used in the Modula-2 channel) posted a module for controling the text screen using ANSI codes in the XDS Modula-2/Oberon-2 forum.
An updated version (2.38 (2012 07 25)) of the Modula-2 FAQ by Rick Sutcliffe is available. Changes according to the announcement: "The most exciting active work on Modula-2 is the R10 project. More information on Modula-2 R10 is now available in 1.11. There are minor changes in several places, including the GNU version update, a cleanup of sections 4.7+ and 2.3+, additions to 1.7.10, 1.17, 3.2, 4.4, 4.9. Section 4.14 on operating systems is new. Excelsior apparently no longer is involved with Modula-2 and those references have been deleted. The StonyBrook compiler, as modified by ADW is now freely available. "
A simple but very informative homepage for Modula-2 R10, the latest revision of Modula-2, is online now. You can find the language description there, a link to the reference compiler project, details on the ongoing discussion about the language and so on.
A recent post to comp.lang.modula2 states Springer is reprinting classics in Modula-2. The reprints are quite expensive. I bought my own (used) copy of PIM4 for a few euros thanks to the internet. Nevertheless this is interesting. Why does this happen now?
Users of XDS Modula-2/Oberon-2 might be interested in an Oberon-2 binding to libharu which was kindly made available by a kind user of the development package. I know it is not Modula-2 but easily accessed from your Modula-2 programs.
Recent changes to the concise description of the R10 dialect of Modula-2 were applied June 30th. There are compliance, copying and acknowledgements sections now. You may also be interested in the changelog.
Martin Hofman started a thread in the GNU Modula-2 mailing list and collected a lot of intersting details about the building process ("what gm2 actually does to build a program, what gets linked in and why ...") of the GNU Modula-2 compiler and its dependencies. The documentation not only reflects the (very) complicated integration of a new frontend into the GNU Compiler Collection but also gives a lot of interesting detail for people who want to understand what exactly is happening during the build process of a module. Enjoy. If you dare.
[UPDATED!] Recently we had to discover the disappearence of some sites offering Modula-2 compilers for the Atari ST computers which were very popular about 25 years ago. Searching for a way to make something available again I found a disk image which is usable with an Atari ST emulator called Steem. You will also need a TOS image (version 1 or 2, higher versions do not seem to work). It's a bit tricky to use the whole system but it works (screenshot). In case you are wondering the compiler was called TDI Modula-2 and was derived from the original ETH compiler.
A kind user told me about another site offering 5 discs containing ANA Modula-2 (zipped versions of the discs are available in the directory tree), another Modula-2 system from the Atari days: look for directories called ANA_M2_x where x is the number of the discs. One more Modula-2 compiler derived from the ETH compiler is available here. This last one was developed in Munich and is in the public domain. So, Atari is back (thank you all!), the relevant part of the compilers section is up to date.
[UPDATED!] Other news: Benjamin Kowarsch informed me about recent changes to the concise description of the R10 dialect of Modula-2 (latest changes/release of June 24, 2012). The project is very ambitious and I am happy someone is putting so much energy into the development of Modula-2. People are invited to join the discussion (also check the previous news item below).
The concise description of the R10 dialect of Modula-2, jointly developed by B.Kowarsch and R.Sutcliffe, as a modern revision of classic Modula-2 has been updated recently. The finalised section on pragmas, their EBNF and syntax diagrams have been incorporated. The document is still work in progress as stated in page 2: "It is intended for general peer-review and for contributors who wish to participate in work on the M2R10 reference compiler, the standard library implementation and associated compliance test tools."
Beside of that a new version (2.42) of ADW Modula-2 is available. According to the homepage of the compiler it was released to fix a bug which led to problems compiling and loading 64-bit DLL's.
Latest changes to GNU Modula-2 have been reported to the gm2 mailing list.
A lot of in my opinion very interesting issues of USUS, a newsletter published in the 80s and early 90s by the UCSD Pascal System User's Society, are available via ftp from a server run by Western Horizon Technologies, a company offering consulting and professional staffing services. The files are all in pdf format and quite big but nevertheless interesting - mostly historic information but also code snippets etc. I remember some parts of the MODUS Quarterly Newsletter (another newsletter from back then) was made available by CFB Software in 2010. I also remember (what kind of information is in my head?) an article published in the same newsletter with the title "Automatic export of identifiers from the definition module" by Arthur Sale. I found this one searching for MODUS content in 2009. As always in such cases let me ask: Does anyone have more?
Ten years ago (april 10th) I uploaded a collection of links related to Modula-2. I was just tired to search for sources, compilers and online tutorials which weren't there anymore. Dead communities, disappeared homepages and broken links were symptomatic for a dying language back then. Today the situation is much better, but still not good - a number of free compilers of professional quality are available now and may change this in the long run. The small community (more and more people ask questions or contact me in the last few years) around the language seems to be growing steadily. At this point I just want to say thank you to all who have contributed to my effort to keep a good online ressource for the language Modula-2 alive and up to date. Your help was and is appreciated.
Most of us know Modula-2 is there for over 30 years now. Those who remember or even played the game (which was very popular once) may be interested in a short video demonstrating Oxyd, a game written for the AtariST in 1990 by Meinolf Amekudzi (Schneider). Of course it was written in Modula-2 (Megamax Modula-2 is still available).
ADW Modula-2 version 2.38 has been released two days ago. The release fixes a bug with some REAL functions on x64.
Tom Breeden announced the release of a new version (3.2 Beta) of Aglet Modula-2. For those who don't know, Aglet Modula-2 is a compiler generating native PPC code for Amiga OS4. The IDE has got new features, modules were updated and some bugs were fixed. Find more information by visiting the original home of the compiler or consult the changelog.
Ok, it seems I still have to get used to the fact there are a few more places to check for news related to Modula-2 recently. And new ones still appear. I completely missed the release of ADW Modula-2 2.31 in january. Well, here is the announcement. There were some fixes and smaller changes in look and feel.
Julian Miglio kindly pointed me to the Embedded Graphic Environment Manager (Egem) which he maintains. "Egem is a graphic enviroment manager library, it has been designed for writing software for high integrity applications. It is not intended to be an operating system, but a simple and generic graphic interface that gives the user an easy way to interact with complex electronic machines." The Modula-2 version was written for GPM Modula-2 for DOS. Having the new homepage of Egem I removed the related files from the local download area.
Latest changes to GNU Modula-2 have been reported to the gm2 mailing list.
The beta package of XDS Modula-2/Oberon-2 by Excelsior has been updated recently. Some issues brought up by users of the compiler were adressed.
Recently I read an article which mentioned an implementation of the programming language Modula. First I thought this was the often used and usual short form of Modula-2 but reading on I found a reference to the University of York Modula Compiler. Well, I got very interested and did some investigative searching as I was quite sure until now that Modula was never used (I wasn't even sure if it was implemented). I found lots of articles and other interesting stuff and decided to put the information into the local FAQ. There was even an operating system written in Modula-1 - as it was sometimes called later, when Modula-2 was taking over.
Every now and then I receive questions via email asking for operating systems written in Modula-2. Recently I stumbled across Panos and some papers which I added to the appropriate section of the local FAQ. While updating this section I found out Gaius Mulley, developer of GNU Modula-2, wrote a microkernel called LUK which is used to teach students the principles of microkernels. LUK runs on x86 PC hardware and boots from a USB memory stick. Follow the link above to get more information and a download link.
Recently I (once again) read an interview with Niklaus Wirth back from 2009. If I remember it right I found the link visiting the homepage of Jan Verhoeven who also provides a link to the opening talk of Mr. Wirth at GTAC 2009. Now I found a new (2011) interview coming in three parts (one, two, three). Christian Timmerer, Niklaus Wirth and Laszlo Böszörmenyi discuss a lot of topics including the main problems of software development today. With these films I wish you a happy new year -
Really, I didn't think there would be more (great) news to be posted this year. But today I received a message from Dmitry Leskov entitled "XDS 2.6 beta - Your Least Expected New Year Present" which I partly quote here: "This was meant to be our Christmas gift to the Modula-2 community, but I have an excuse for being late: the Orthodox Christmas observed in our country comes _after_ the New Year, so we are more used here to give and receive New Year gifts.
Since releasing XDS under a freeware license back in 2005, we have completed a handful of related custom projects. Those projects ranged from complete toolchains targeting specialized embedded platforms to automatic Modula-2 to C++ converters to minor customer-specific tweaks and enhancements. We have also added keyboard macros to the IDE for our own convenience, and, of course, we have encountered and fixed a number of bugs in the process of working on all that.
To cut the long story short, we have just released XDS 2.6 beta incorporating some of the fixes, IDE macros and Open Watcom support in XDS-C."
Packages for Windows and Linux are available from Excelsior's homepage.
Now this is great (and surprising) news. ADW Modula-2, successor of Stony Brook Modula-2, is now available at modula2.org. The compiler has been released as freeware. Details from the download page: (1) ADW Modula-2 is for Windows only, (2) ADW Modula-2 allows development of both 32- and 64-bits programs on the Windows platform, (3) no support is given, neither by ADW Software, nor by modula2.org.
[Update:] Let me get this straight. I should have written more than a few lines to announce this release. But I didn't have enough time last sunday. So let me add: This is an amazing development system, not "only" a compiler. The documentation is really nice, the libraries are extensive. The package can be recommended to everyone using Windows only. It's a pity the Linux compiler wasn't released with the Windows version. Stony Brook used to be a cross platform development system. But. I don't want to be unhumble - thanks a lot for the release!
I thought I know all operating systems written in Modula-2. Now I found out about Panos, an operating system developed by Acorn Computers in the 1980s (information from computinghistory.org.uk), which ran on the 32016 Second Processor for the BBC Micro and the Acorn Cambridge Workstation. Of course this is of historical interest only. For those interested there is a lot of information including pictures and manuals available from Chris's Acorns.
Acorn also developed ARX, an operating system written in Modula-2+ (a predecessor of Modula-3). There is an interesting email about Acorn's involvement with Modula2. I post the link here because the information was very enlighting for me. You get to know the complete line between the ETH Modula-2 compiler and the development of Modula-3 by DEC and Olivetti. I didn't even know Acorn was part of this line...
The design of a free CSN API model is a paper by Gaius Mulley describing a project implemented using GNU Modula-2, Python and C. "Python is to be used to parse the specification file, allocate processes to processors and initiate execution of a process on a remote processor. GNU Modula-2 is to be used to implement the CSN library. GNU Modula-2 will utilise the portable GNU Pthreads via its coroutine library. GNU C will be used to interface between GNU Modula-2 and various library routines under GNU/Linux." The latest tarball (04/2010) csn-0.5.tar.gz is available from floppsie.comp.glam.ac.uk.
After a long time I updated the list of available compilers. And I installed YAZE-AG - Yet Another Z80 Emulator by Andreas Gerlich (V 2.20.1). I downloaded the Windows (and later the Linux) binaries and found a nice environment, great documentation and a preinstalled disc M:\ which contains Turbo Modula-2! The compiler works out of the box (picture). Amazing! Some of us will remember Turbo Pascal 3 and FST Modula-2 -
While looking through the list of compilers I updated some links in the Amiga and Atari sections. So I found out st-computer.net seems to have disappeared with all the Modula-2 compilers which were available from that site. Does anyone have more information (or do you have the compiler packages so we can make them available)?
GNU Modula-2 1.0.4 is available now. This is a bugfix release. Binaries for x86_32 and x86_64 are also there as well as a list of latest changes. As a sidenote Gaius Mulley informs that he works on grafting gm2 onto gcc 4.6.1.
[Update:] An updated binary build of GNU Modula-2 1.0.4 for Cygwin/Windows is available from the download area.
Have you ever heard of the Modular Universe? No, I am not talking about a philosophy of Modula-2 enthusiasts explaining the universe. I want to bring attention to the interesting projects of Dr. Maurer who develops Murus for a long time now. A lot of modules are available (GPL licensed), including examples for using X and OpenGL. The docs are extensive. Dr. Maurer uses the Mocka compiler and provides an own version which is easier to use in some aspects. As Murus is written in german language, Jan Verhoeven translated some parts of Murus to make them available to the rest of the world in the Murus section of his Modula-2 pages.
An updated version (2.37) of the Modula-2 FAQ by Rick Sutcliffe is available. Changes according to the announcement: "A link checker revealed some twenty dead or inaccessible links. All have been ruthlessly removed, and some sections renumbered, particularly after 4.8. A new mailing list for Objective Modula-2 is at 2.6. The Amiga Aglet item has been updated. Some additional resource lists have been added after the main bibliography. The GNU information has been updated. ISO compatibility information has been updated. Modula-2 R10 is mentioned in a new question at 1.11."
Reading the FAQ I found a reference to an interesting article by Andrey Koltashev which is available via Google Books (Abstract). Rick Sutcliffe points out Koltashev "discusses the benefits of using Modula-2 for the onboard-software used in Russian telecommunications satellites". I remember the announcement by Excelsior back from 2004 which I guess was related to the same project.
Roberto Aragón moved his very helpful Modula-2 pages to a new server. The information is in spanish language but mostly usable through tools like online translators. You can view the material as a tutorial to start working with a Modula-2 compiler (Mocka), a good editor (Kate) and an easy to use debugger (GNU DDD which works as a frontend for debuggers). Mr. Aragón also provides a few interesting scripts for better integration of the Modula-2 compiler with Kate. Maybe someone out there wants to provide a translated version of the documents?
GNU Modula-2 1.0.3 is available now. New binaries for x86_64 (Debian squeeze) are also available. Information about latest changes is also there as well as a newly built gm2-avr package (gm2 built as a cross compiler for the Atmel series of microprocessors).
Having a hard time with the GNU Build System? Digging through documentation and searching for a M4 macro which looks up GNU Modula-2? Have a look at the sources of Schwarzer Kaffee. Martin Kalbfuss provides the example files to get you started. Schwarzer Kaffee is a SDL wrapper for the GNU Modula-2 compiler utilising the GNU tools. Note: If you are interested in the project and want to use it on the Windows/Cygwin platform you should use gcc3 to build SDL! SDL is not part of the official package collection of Cygwin and doesn't build with gcc4 at the moment.
Speaking of the GNU Build System you may also be interested in the generic Makefile by Duke Normandin and others which has been posted to the GM2 mailing list.
Last but not least latest changes to the 4.1.2 branch of GM2 have been reported to the mailing list. [Update:] Today Gaius Mulley informed (again!) about latest changes to the compiler. "These fixes allow GNU ASM syntax to behave in exactly the same way as the other GCC front ends." Documentation and examples will be provided soon.
A new binary build of GNU Modula-2 for Cygwin/Windows is available (gcc-4.1.2+gm2-cvs-latest.tar.gz, 06/13/11). I thought it would be helpful for people testing and trying out the compiler to keep the archive up to date.
Earlier I posted about Modula-2 at CERN. Now I found (thanks to a hint from the compiler list at Modula2.net) a historic document about a Modula-2 to C translator developed by ANSTO (Australian Nuclear Science and Technology Organisation) in Australia. People often seemed to experiment with Modula-2 in safety-critical fields. I wondered how the computer looked like which was used to develop the translator. Well, I found a small picture of the box tied to a car...
Other news: Latest fixes to the GNU Modula-2 sources have been reported to the GM2 mailing list.

There is a relatively new project at GitHub aiming to provide a Modula 2 syntax file and useful abbreviations for Vim (As Vim does Modula-2 syntax highlighting since years I am - as a Vim user - looking forward for the useful abbreviations). This reminded me to post some simple scripts I am using with Vim. Any ideas to improve these? I'd be happy to post your little helpers here -

Checking the sites of the Modula-2 Webring I found out that a new bugfix release of Aglet Modula-2 is available since april. The release includes fixes for the compiler and some libraries. Aglet Modula-2 is Tom Breeden's Amiga PPC M2 compiler generating native PPC code for Amiga OS4. You may be interested in the documentation (pdf) to find out more.
Binaries of GNU Modula-2 for the Solaris (64bit sparc) operating system are available now. Latest changes to the compiler have also been reported to the gm2 mailing list.
As the world of Modula-2 is rather quiet at the moment (with the exception of the great development of GNU Modula-2) I'll drop in a snippet of history. Did you know Modula-2 was used at CERN (European Organization for Nuclear Research)? For example the language NODAL was once implemented in Modula-2 there. Various documents (example .pdf) can be found. An overview by Julian Blake with more detail is also available.
Latest changes to GNU Modula-2 have been reported to the gm2 mailing list. The compiler is also (again) available now as a cross compiler for the Atmel microprocessors. This is alpha status software which needs testing and people who are willing and able to try it out. Debian binaries are available for the x86_64 platform. Read the announcement here.
I really wanted GNU Modula-2 to build under Windows Vista. Now it does (once again). You have to edit one file (usr/include/string.h) of the Cygwin installation to make it work. Read the messages to the gm2 mailing list to learn more. The binary build is available here.
[Update:] I am happy. I installed the Cygwin port of Vim to get a nice development environment. After turning on syntax highlighting I tried to compile some of the GNU Modula-2 examples by typing :make - everything works fine! Don't forget to set the right path.
GNU Modula-2 has got a nice new website. The much improved documentation of the compiler now comes with sections labelled according to their texinfo nodes. Last but not least you may be interested in latest changes to the compiler sources (mostly reflecting the documentation update).
[Update:] Updated GNU Modula-2 binaries for Debian Squeeze are available now.
GNU Modula-2 1.0.1 is available now. New binaries for x86_64 and x86_32 debian lenny are also available.
GNU Modula-2 1.0 has been released yesterday! I know lots of people have contributed to the project (have a look at the archives of the gm2 mailing list to find out more) but it is one man who wrote the compiler and gave friendly and quick support to all people who asked questions or were and are interested in the project. Thank you so much Gaius Mulley. Congratulations to you and thanks to all contributors. Now there is an open source compiler which is able to process all of the dialects of the great language Modula-2 (PIM and ISO). A message about latest changes to the compiler was sent out earlier to the mailing list.
From the GNU Modula-2 homepage: "The GNU Modula-2 compiler is one of a number of front end languages to GCC (GNU Compiler Collection). As such it has been designed to coexist with other GCC languages for example it can be used in mixed language projects and it can catch C++ exceptions and throw exceptions which can be caught by C++. Users can also exploit conditional compilation and full gcc backend optimization and architecture coverage.
GNU Modula-2 can produce position independant code and can easily produce shared libraries from modules. The compiler provides a swig interface file generator option which allows scripting languages such as Python to import modules written in Modula-2 and also catch exceptions thrown by Modula-2."
Some small changes should improve the GNU Modula-2 user experience. The compiler now behaves similar to the most used GCC front ends (compile and link by simply providing the filename as your only argument). Other recent changes to the compiler have also been reported to the mailing list.
For German speaking readers: Maybe you remember the script/book about data structures in Modula-2 provided by Prof. Dr. Theo Härder which I pointed to in january. There is another script available (brought to my attention by a kind reader of these pages) about sorting algorithms in Modula-2 written by Ralf Kruber. Well, it is also written in German.
Jan Verhoeven developed a graphical user interface for the ACK Modula-2 (C, Pascal) compiler. "Normally I'm more a command line person. Still, the ACK has some idosyncracies that may be flattened out by a simple front end. And since Graphical seems to be the word of this era (how else would you like to spoil all these GHz-es and CPU cores?) I set out to create a GUI front end for the ack."
Other news: You may be interested in a generic makefile for use with GNU Modula-2 written by Duke Normandin and improved by Gaius Mulley.
A new distribution of Gardens Point Modula-2 is available now. "GPM/CLR is an implementation of the historical Gardens-Point Modula-2 compiler for the .NET runtime. It provides an example of how a non-typesafe, unmanaged data compiler may be implemented on the CLR." Some features of Modula-2 have not been implemented. Fewer libraries are available in the distribution as there were some problems due to missing low-level libraries.
I also want to point you to the brave work of some students: Over at Vrije Universiteit Brussel Modula-2 is used as a teaching language (using the XDS Modula-2 compiler). Domination (download) is the award winning game of the year 2010.
GNU Modula-2 0.99 is available now!
Other news: There is an interesting discussion going on in the GPCP Gardens Point Component Pascal group about the GPM/CLR versions of Gardens Point Modula-2. This may hopefully bring some life to the compiler versions for the Microsoft .NET platform (not to mention the now defunct online compiler). Maybe some of you are interested and want to show that interest in the mentioned group?
Finally: Have you ever asked yourself the question why there are uppercase keywords in Modula-2? While I just naively like the increased readability of my sources here are some very good arguments from a discussion in the Zonnon forum.
GNU Modula-2 0.98 was released today. 32 and 64 bit binaries are available for Debian and Ubuntu.
Latest changes to GNU Modula-2 have been reported to the gm2 mailing list. A lot of bugs were fixed and it seems we are approaching version 1.0.
A new version of The Amsterdam Compiler Kit is available. It was announced in comp.lang.modula2 and comes with a set of warnings about the limitations of the compiler kit (More information about ACK). [Update:] Jan Verhoeven set up a page to get started with the compiler.
The Objective Modula-2 FAQ has been updated.
And as a sidenote I want to inform you about the release of Critical Mass Modula-3 5.8.6. Not Modula-2, I know, but an interesting language available for a lot of platforms.
There is a consolidated Modula-2 R10 repository now over at BitBucket.org. The announcement was posted in comp.lang.modula2 some days ago. I want to point out the last paragraph of the message: "Developers and unit testers use the IRC Modula-2 channel on freenode for collaboration, and new members are welcome to join the team (currently five strong)."
Latest changes to GNU Modula-2 have been reported to the gm2 mailing list. Rebuilt packages for Debian are available. You may find the answer to a question about how to use the packages helpful.
GNU Modula-2 0.92 was released yesterday. All regressions now pass on x86_64 LP64 and i686. Binaries are available for Ubuntu and Debian.
An updated version of the paper An Overview Of Objective Modula-2 is available from the Objective Modula-2 website. Since Objective Modula-2 is a superset of Modula-2 R10, this document also includes an introductory section about R10 that is easier to read than the formal language description document I reported about earlier.
GNU Modula-2 0.91 was released a few days ago: "This release fixes two optimization bugs and at least one front end bug. It also includes the ability of users of gm2 to align fields." A complete list of changes to the compiler since version 0.90 is attached to the message.
Latest changes to GNU Modula-2 have been reported to the gm2 mailing list: gm2-0.90 has been released and it seems we are close to the release of GNU Modula-2 1.0.
The Concise Language Description of Modula-2 R10 is now also available as a well formatted pdf-file. You may also be interested in a complete set of syntax diagrams (encapsulated PostScript) for R10.
I am not sure how to introduce Modula-2 R10... There is a document which is a concise description of this dialect of Modula-2, jointly developed in 2009 and 2010 by B. Kowarsch and R. Sutcliffe, as a modern revision of classic Modula-2 ("Revision 2010"). As one of the developers points out, "the R10 dialect is about the same size as PIM, but its expressive power rivals that of Ada and C++. This is achieved by moving all the features that other languages add to their cores into the library and provide syntax that makes library defined facilities look as if they are built-in. Low level facilities are on par with C. Variadics are type-safe like everything else".
The homepage of Objective Modula-2 has been updated recently to reflect the latest changes to the core language and grammar. Find a summary of the latest updates here.
Other news: Chris Burrows informs us about the appearence of a copy of the manual of Logitech Modula-2 1.0 at bitsavers.org.
An updated version of the QDTools package by P. Guiochon is available from the download area.
The implementation of the ISO library of GNU Modula-2 is complete now (Wow!). You may also be interested in the new section Building a shared library of the GNU Modula-2 documentation.
Chris Burrows scanned some articles and tables of content from copies of 'The Modula-2 News' published in the 1980's by Modus, the Modula-2 Users Association (announcement). The file is available from CFB Software.
You may also be interested in the growing list of Modula-2 projects over at Ohloh.net.
Last but not least your help is needed once again. Some people are searching for a skilled volunteer to help in getting Modula-2 support into the GeSHi distribution. If you have PHP skills please consider helping.
Ohloh.net supports Modula-2, Modula-3 and Oberon for a few weeks now (thanks for the hint!). This solves the problem mentioned earlier.
Also published since april 7th are a number of recent entries to the changelog of GNU Modula-2.
GNU Modula-2 0.78 has been released as implementation of the ISO Modula-2 library is nearly complete (version 0.80 should come with the complete library). The homepage was updated accordingly and you may be interested in the modified release map. Gaius Mulley also published the latest entries to the changelog of GNU Modula-2.
The just released latest version of Highlight includes a definition file for Modula-2. You may also be interested in similar projects with slightly different approaches or goals. Highlight generates HTML files from your sources with external CSS definitions. Since version 2.16 Modula-2 is recognized. Packages for a lot of platforms are available (Windows, numerous Linux distributions, FreeBSD, Solaris and OS X). Highlight also works as a plugin with some programs.
Some people are searching for help in making Ohloh recognise Modula-2. There is a thread explaining what exactly has to be done.
You may be interested in two projects beside of the earlier mentioned M2SyntaxColour hosted at BitBucket.org (list of Modula-2 projects). There is M2Regex, a regular expression library for Modula-2, as well as M2Collections, the "Modula-2 collections library. The library provides an API for collection ADTs, in particular: stacks, queues, double ended queues, priority queues, balanced binary search trees, patricia tries, dynamic arrays and hash tables to store arbitrary data. The hash table ADT allows data to be stored and retrieved by reference or by copy, with built-in reference counting. All other ADTs allow data to be stored and retrieved by reference only. The library follows PIM4, it has no dependencies and it is platform independent. The library is tested with GM2 using option 'fpim4'.". Both projects are work in progress and are available under a BSD style license.
Bitbucket.org, a site similar to SourceForge.net, has updated its system to support Modula-2 syntax highlighting (example). Bitbucket uses the Pygments Python Syntax Highlighter, a generic syntax highlighter for general use in all kinds of software such as forum systems, wikis or other applications that need to prettify source code. There is also a project at Bitbucket.org called M2SyntaxColour providing resources for various syntax colourisation tools/plugins to recognise Modula-2. In the list so far: GeSHi syntax highlighter (PHP), Pygments library (Python), Xcode IDE.
Other news: The list of Modula-2 compilers at Modula2.net was recently updated. The update was announced in comp.lang.modula2. You may want to scroll through the list to check it for completeness.
The homepage of Objective Modula-2 was updated on february 4th.
Latest updates to GNU Modula-2 have been reported to the GNU Modula-2 mailing list.
Prof. Dr. Theo Härder is really kind to share an impressive (250+ pages) script/book on data structures in Modula-2. You may download the file from his personal homepage at Technische Universität Kaiserslautern. The problem for most of you is that it is written in German... As I understand you may download the PDF for your personal use, reproduction in printed form is prohibited.
Beside of that several messages to the GNU Modula-2 mailing list document recent changes, bugfixes and improvements to the compiler (e.g. latest cvs changes 01/16/2010 and latest cvs changes 01/11/2010).
A new release of Schwarzer Kaffee asks for attention and testing since december 20th (announcement).
By the way: Does anyone have more information about this compiler project? I cannot find contact information on the projects homepage but one can tell from a svn-checkout that quite a lot of work has already been done there. [Update:] I was told there is a homepage of modula2jcc which is (or was) the work of a group at Complutense University of Madrid. There I also found a link to another compiler project called jmodula2cc.
Latest changes to GNU Modula-2 as well as the release of gm2 0.72 have been reported to the GNU Modula-2 mailing list. Amd64 binaries are available.
There is a first release of "Schwarzer Kaffee" (german for "black coffee") which is a SDL wrapper for GNU Modula-2. The author underlines that the project is in a very early stage but some important things are already working. The release was first announced to the GNU Modula-2 mailing list.
You may be interested in Niklaus Wirth's talk (YouTube) at GTAC 2009. Thanks to Jan Verhoeven's Modula-2 Pages where I found the link.
A new package is available from the Sources Store for Modula-2 and Oberon-2. The file is called FreeImage3.13.zip and contains files to use the FreeImage library (which is "an Open Source library project for developers who would like to support popular graphics image formats like PNG, BMP, JPEG, TIFF and others as needed by today's multimedia applications.") with XDS Modula-2.
Latest changes to GNU Modula-2 and the release of version 0.70 of the compiler have been announced to the GM2 mailing list.
Gaius Mulley reports that all GNU Modula-2 regression tests pass on debian lenny stable x86_64! There was also a message documenting latest changes to the compiler in the middle of october.
There is a new mailing list for news and discussion about Objective Modula-2.
A new list of Modula-2 Compilers categorised by availability is now available.
Latest changes and a proposal for the GNU Modula-2 compiler by Gaius Mulley may be discussed by using the GNU Modula-2 mailing list.
As we seem to be near to the release of GNU Modula-2 0.70 the compiler reached a major milestone. Implementation of the ISO Modula-2 language (ISO/IEC 10514-1:1996 Modula-2, Base Language) is complete. The website was updated as was the documentation. Read the announcement here (including latest changes to the compiler).
P2Ada has a new home at SourceForge.net (for about one year now...). P2Ada is a Pascal to Ada translator which also allows the translation of Modula-2 to Ada 95 via a special program called mod2pas.zip.
As the Modus Quarterly Newsletter (Modula-2 News for MODUS, the Modula-2 Users’ Association) was mentioned in comp.lang.modula2 recently I tried to find content from this newsletter. All I could find is an article with the title "Automatic export of identifiers from the definition module" by Arthur Sale. Does anyone have more?
Some of you may be interested in the Language Breakdown in Open Source. Modula-2 does not (yet) appear there. The only language from the Wirthian family to show up is Pascal (and if you count it in, Ada).
In a sidenote about these pages I want to inform you about lots of corrected or deleted dead links and about some smaller reorganisations of content here and there. If you find out something is not working, please tell me.
I just visited the homepage of Modulipse and found out version 0.0.3 has been released in June. The announcement states that "it is now possible to work with Modula-2 source files that are outside the workspace". Thanks for adding this! Packages for Linux, Windows, Solaris and OS X are available for download.
A polished presentation of the Objective Modula-2 Grammar is available from the projects homepage now. The update was announced in comp.lang.modula2.
Chris Burrows uploaded an important piece of software for the history of Modula-2: "a) a zip file containing the source code of a Macintosh version of Wirth's single-pass Modula-2 compiler which generates MC68K code b) a copy of the release notes that accompanied the original Lilith version. This single-pass compiler was a significant improvement over the original 4-5 pass M2 compiler. It consists of approx 13,000 lines of source code compared to the original 19,000." 07/21/2009
GNU Modula-2 now supports multidimensional arrays. Several messages to the GNU Modula-2 mailing list report progress on the feature.
Version 2.35 of the Modula-2 FAQ was released: "Henceforth only a notice about this site (and no longer the entire FAQ) is distributed on USENET News and thence to Google). The FAQ will only be available here on Modula-2.com."
As I just updated the links to the recently made available ANTLR grammar for PIM and ISO Modula-2 I also want to point out that these ressources and the Xcode 3 language specification for Modula-2 are now available from http://modula2.net.
Jan Verhoeven published a modified version of a random number generator as described in Programming in Oberon by Niklaus Wirth and Martin Reiser.
Following a hint by Terry Ross in comp.lang.modula2 I found a lot of freely available articles related to Modula-2 originating from www.atarimagazines.com.
It seems we are close to a release of Aglet Modula-2, a Modula-2 compiler generating native PPC code for Amiga OS4. The compiler compiles itself since march and a beta was released in may. You may want to help in testing.
And last but not least the article Class is a Record - Wirth was right after all has been published. You are invited to discuss it in comp.lang.modula2.
Objective Modula-2 will from now on be accessible at http://objective.modula2.net/.
You may also be interested in a question asked in comp.lang.modula2: "I wonder what everybody's interest in Modula-2 is. Are you simply interested because you have to maintain legacy code or are you actually doing new development in Modula-2, if so which area? system development? embedded? GUI apps? Web? Or is your interest only due to being taught M2 at university and you're out of here as soon as the course finishes?". For those who do not use a browser to access newsgroups click here.
A new file for Xcode syntax colouring for PIM Modula-2 is available at the homepage of Objective Modula-2 (scroll down, it is near the bottom of the page). The announcement can be found in the archives of comp.lang.modula2.
A few weeks ago I mentioned Zonnon here. A post in comp.lang.modula2 now pointed me to a forum for the language - just in case you got interested.
Benjamin Kowarsch has kindly made ANTLR grammars for both PIM3 and ISO Modula-2 available. These were made for documentation purposes but can be used to generate syntax diagrams with ANTLRworks. The original announcement of the author was posted in comp.lang.modula2.
Other news: Latest entries to the GNU Modula-2 ChangeLog (and latest regression test results) have been reported to the GNU Modula-2 mailing list.
Zonnon is definitly not Modula-2 but a language closer to its ancestor than for example Oberon. A short description from Wikipedia: "Zonnon is a general purpose programming language in the Pascal, Modula-2 and Oberon family. Its conceptual model is based on objects, definitions, implementations and modules. Its computing model is concurrent, based on active objects which interact via syntax controlled dialogs. The language is being developed at ETH Zürich Institute for Computer Systems by Prof. Jürg Gutknecht. Zonnon introduces the concept of 'active objects' which are used to represent real world concurrent objects within computer programs." You may be interested in the language report and the compiler. While Zonnon can be used with Visual Studio 2005 (there are implementations for .NET and Mono/Eclipse) there is also a simple open source IDE called Zonnon Builder available.
Latest changes to the source code of GNU Modula-2 have been reported to the GNU Modula-2 mailing list.
There was some noise in comp.lang.modula2 recently. Some of you may be interested in the discussed topics.
Chris Burrows informed me about a second (1-pass) Modula-2 compiler included in Emulith (link to ftp-server).
Last but not least I want to interest you in a message and thread in the XDS Modula-2 forums. We may have a chance to bring life to a Modula-2 IDE. So please express your interest.
The homepage of the Kronos research group was updated recently. You may be interested in the sourcecode of the Kronos workstation which is now available under a BSD-license. There is also an emulator and a lot of amazing information on the history of the system. Wikipedia provides a good overview.
Other news: Sometimes people tell me about quite amazing things.
A few months ago the description of Objective Modula-2 was deleted by Wikipedia because of the lack of an implementation. Objective Modula-2 is "a hybrid between Smalltalk and Modula-2 based on the object model and runtime of Objective-C. The design is an example how native Cocoa/GNUstep support can be added to static imperative programming languages without implementing a bridge." Benjamin Kowarsch now informs via the GNU Modula-2 mailing list that the project is alive. Some papers and code can be fetched from the projects homepage. [UPDATE:] I just recognized the Objective Modula-2 Homepage is now also part of the Modula-2 website ring which has its home at ModulAware.com.
Jos Dreesen released a new version of Emulith, the register-level emulation of the Lilith hardware. Version 1.2 (release notes) introduces a native Windows port and some interesting new features. [UPDATE:] The official announcement by the developer is available. And did I mention that Emulith includes a Modula-2 compiler?
Three links to messages documenting the latest changes to GNU Modula-2: 21 Jan 2009, 04 Feb 2009, 04 Feb 2009.
Several messages document recent changes to the sources of GNU Modula-2: 05 Jan 2009, 07 Jan 2009 and 10 Jan 2009. Most important the implementation of type COMPLEX (COMPLEX, LONGCOMPLEX, SHORTCOMPLEX and if the architecture/gcc runtime supports them COMPLEX32, COMPLEX64, COMPLEX96 and COMPLEX128) is nearly complete.
Andreas F. Borchert announced the availability of some historic Modula-2 material in comp.lang.modula2. Available for download are "the sources of the ETH Zurich Multipass Modula-2 compiler for the Lilith and an emulator, written in C, which we used in 1983 to bootstrap to another platform. You'll find this material along with some instructions how to revive all this with the help of a simulator of the Interdata 8/32 from the Computer History Simulation Project at http://www.mathematik.uni-ulm.de/modula/history/."
Recent changes to the sources of GNU Modula-2 have been reported to the GNU Modula-2 mailing list.
Jos Dreesen released Emulith. This interesting piece of software is a register-level emulation of the Lilith hardware. "You will need a reasonably fast PC running Linux and having at least 1280x1024 resultion." The author reports that the emulator also runs under OS-X and CygWin/x (download via ftp).
Daniele Marangoni sent new files for Notepad++. The archive contains a Modula-2 API definition for Notepad++ v.5.0.3 to be used with the XDS Modula-2 compiler.
Gaius Mulley sent two interesting mails to the GNU Modula-2 mailing list. First one informs that "Steve Giess has kindly contributed a port of xmodula to gm2. I've just wrapped it up with a standard configure, Makefile, ChangeLog etc. It appears to work with the current cvs gm2 on a variety of i386 and x86_64 GNU/Linux platforms albeit the release number is 0.1."
The other mail informs that "Michael Lambert has kindly built gm2 for the Alpha platform running Debian GNU/Linux Stable. Both this platform and x86_64 are using the LP64 memory model and both platforms are seeing no regression test failures at present."
Web Family Tree is a freeware program by Peter J. Moylan that permits you to display your family tree in a web browser. It is a Modula-2 program using the common gateway interface. The source code is available. Those interested in this relatively simple way of getting a graphical interface for Modula-2 programs may be interested in the CGI related pages by Jan Verhoeven.
Other news: There is a new page describing howto create a Debian package for GNU Modula-2.
Binary packages of GNU Modula-2 0.68 are available since november 8th to the public capable of using Debian repositories. Please help to test the upcoming release of the compiler.
GNU Modula-2 0.63 has been released. There have been a lot of recent changes accompanied by discussions in the GNU Modula-2 mailing list. Big steps were made with the implementation of ISO features and the ISO libraries (The archives of the mailing list for October and September have more). Anyway, here is the release announcement, and an email with details on some changes and additions. Up to date documentation is also available. [Update:] Gaius Mulley published an updated changelog.
There is a simple page to help you getting started with Google Code Search. Most sites and download locations offering Modula-2 sources can already be found there. But some of you still might want to add something (you may also add CVS and Subversion repositories).
Some information on the progress and the plans related to GNU Modula-2 is again available at the GNU Modula-2 mailing list.
Latest changes to the source code of GNU Modula-2 have been reported to the GNU Modula-2 mailing list. [Update:] Gaius Mulley has made available a screencast showing that Python can catch GNU Modula-2 exceptions.
More and more parts of Murus are translated by Jan Verhoeven and published in the download section of the Mocka and Modula-2 mailinglist. Mr Verhoeven also announced a working version of a compiler for the PLOV language which seems to be a simplified version of Modula-2.
Thanks to Jos Dreesen more Lilith goodies are availeble now. "Most important is a binary image of the Lilith Systemdisk, and a subdirectory containing all files ( more then 700..) of that systemdisk. Among these files are: Medos binaries and source code. Modula-2 compiler binaries with source code. Lilith system utilities with source code. Bootfiles and system files. Lilith microcode source and assembler. Also available are hardware docu and some screenshots."
Page Six an IRC-bot written entirely in Modula-2 has got a new home temporarily.
A little program available in a lot of different programming languages seems to need improvement.
Two documents (Generics In Modula-2: ISO/IEC 10514-2 and Object Oriented Modula-2: ISO/IEC 10514-3) are now available from the Modula-2/Oberon-2 Sources Store (scroll down in the download-section). I could not open one of the files but the other one still was and is very interesting lecture. Maybe some of you are interested.
More and more interesting facts (for those interested in the history of Modula-2) about Modula-GM, the Modula-2 dialect used and developed by General Motors and Delco Electronics are published at the GMnext Wiki. One example is an article about the Development of Modula-GM, another one sums up the Development of Electronics for Indy 500 cars and engines.
Recent messagess to the GNU Modula-2 mailing list document interesting changes to the GNU Modula-2 compiler. Exception handling seems to work now and some examples are there to help you getting started. This is a major step towards ISO compliance.
A new project was started at SourceForge.net. It is called Modula2Plugin and still in a very early planning stage. Description from the project page: "The goal of this project is to provide an IDE for Modula-2 in the form of a plug-in for Eclipse and/or an add-in for Visual Studio (2008). It will be integrated with the XDS Modula-2 compiler."
Tom Breeden published a beta version of Aglet Modula-2, a compiler generating native PPC code he developed for Amiga OS4. Beta means please help in testing.
A special version of Rowley Modula-2 is now available from the languages section of Ram Meenakshisundaram's Transputer Home Page at classiccmp.org. While I knew there were versions of this compiler for OS-9/68K this seems to be a version for the Transputer HeliOS system. I didn't manage to open the archive so anyone out there who knows more?
Gaius Mulley reports recent changes to GNU Modula-2 to the gm2 mailing list: "With these fixes and additions the examples in gm2/examples/swig work. Specifically it now allows users to create shared libraries given an implementation module. The examples/swig/strio will now flush the buffers during the FINALLY statement sequence. Thus users should be able to implement Python modules using GNU Modula-2, so long as the top level definition module uses base types."
Some messages to the GNU Modula-2 mailing list document recent changes to the GNU Modula-2 compiler. There is also a message requesting your opinion about the implementation of shared library support. Finally basic Swig support is now available. "This allows scripting languages (perl, python and tcl) to access Modula-2 implementation modules." (Information about Swig).
The sources of Medos have recently been announced and are now available. Medos was the operating system of the Lilith workstation, the famous computer designed by Niklaus Wirth.
An updated version of the QDTools package by P. Guiochon is available from the download area.
And the latest changelog of GNU Modula-2 was posted to the mailing list.
Two recent messages by Gaius Mulley to the GNU Modula-2 mailing list document a lot of changes to the compiler. New data types and support for exceptions are only two examples from a long list of changes. Some explanations and clarifications can be found in another message.
Files needed for Modula-2 syntax highlighting with Notepad++ are now available from the download-area. A short readme is included in the archive. Thanks a lot for providing your work!
I just built GNU Modula-2 using the Cygwin Layer on a Windows Vista Laptop [UPDATE: download the build (~19MB)]. It compiled and installed out of the box (using the latest archive gcc-4.1.2+gm2-cvs-latest.tar.gz). I built a simple hello world program just to test functionality: GM2 and Vista - impressive (more information).
Some Modula-2 enthusiasts may be interested in a bunch of documents related to the Lilith personal computer. Chris Burrows found them and they are available from Bitsavers.org.
Some of you may also be interested in a syntax highlighter for Notepad++ which can be requested via email.
Looking around I found a page entitled Objective Modula-2 1.00 (Reference Implementation). Another infunctional link can be found at Softpedia. Both links were added in july 2007 and are broken at the moment (old infunctional adress). "Objective Modula-2 is an extension to Modula-2 which follows the Objective-C object model and retains the bracketed Smalltalk message passing syntax introduced in Objective-C. Like Objective-C, Objective Modula-2 is a reflective, object oriented programming language with both static and dynamic typing. It is intended as a safer alternative to Objective-C for Cocoa and GNUstep software development. It retains most of Modula-2's features, most importantly data encapsulation with nested modules, explicit import and export lists and strict type checking" (description taken from Wikipedia). Does anybody have more information? Who is the developer mentioned at the listed sites?
Interesting news from the GNU Modula-2 mailing list. Gaius Mulley uploaded some screen-casts to show you the complete process of building the GNU Modula-2 compiler. "If anyone is wanting to build GNU Modula-2, but is a little unsure how to go about it then this is how I build it on a Debian Etch 64bit machine."
David Moreno, developer of Modulipse, sent a message to the GNU Modula-2 mailing list describing howto build the compiler on a computer running Microsoft Windows using a Cygwin environment. Please note that some of the steps he describes are no longer necessary as they were applied to the sources of the compiler already.
Last but not least you may be interested in the latest changes to the gm2 compiler.
Modulipse, the Modula-2 IDE based on the Eclipse platform, got a homepage now.
GNU Modula-2 now supports constant literal constructors conforming to the ISO Modula-2 standard. Gaius Mulley reported this and a lot of other recent changes to the GNU Modula-2 mailing list. The archive of the mailing list also contains a thread called Modula-2 IDE which informs about Modulipse and the Alpha editor family. The latter provides a powerful Modula-2 mode and recently added support for GNU Modula-2.
Modulipse 0.0.2 was released last friday. The changelog informs about the following changes: procedure folding now works correctly for nested procedures, there is an overlay icon to distinguish Modula-2 projects now, code templates for procedure definitions were added, the user guide has been updated and reorganized, and unnecessary classes and icons were removed.
A happy new year to those who care. While the world still sticks to programming in C++, Java and other languages, some may be interested in algorithms written in Modula-2 by Thomas Maurer. He publishes these every now and then. And if you are already there, have a look at his Murus project which is constantly evolving and changing and improving. There is also Murus.org. Translations of (parts of) Murus will eventually be made available by Jan Verhoeven, maintainer of the Mocka and Modula-2 group.
Jos� David Moreno Ju�rez released a first version of Modulipse a Modula-2 IDE for Eclipse. There are binary packages for Win32, Linux/gtk/x86, MacOSX (ppc and x86) and Solaris/gtk. Sources are also available. Those who have Eclipse installed can simply point the Eclipse update manager to the update site at http://modulipse.sourceforge.net. [UPDATE:] I tested this on Debian testing and installed it on Windows Vista and it works fine. While the integration with GNU Modula-2 works fine under Linux I guess I will have to use XDS Modula-2 under Vista for now. There is also a Wiki for the project now. And here is a link to the Modulipse download page.
Gaius Mulley informs about the latest changes to GNU Modula-2. You may also be interested in a new page which informs about regression tests the GNU Modula-2 does and does not pass (announcement).
Debian (Etch) packages of GNU Modula-2 targeting ARM are now available. Gaius Mulley, developer of GNU Modula-2, assembled packages for ppc64 (ps3), i386 and amd64.
The Q&D Tools package available from the local download area was updated recently. Some bugs were fixed, some features added, as P. Guiochon, author of the pack reported. Binaries of some of the utilities included will be part of a FreeDOS distribution.
Google's advanced code search is getting better and better. It is possible to search for Modula-2 code for some time now but while the search didn't come up with many (interesting) hits in the early days it is now a very well working tool. It reveals interesting code, snippets and libraries, especially if one invests some time. An example.
Other news: New Modulipse screenshots are available demonstrating independence of platforms and languages.
GNU Modula-2 0.62 is out. All options which refer to code generation are now invoked by -f. A Logitech Modula-2 compatible module BlockOps is now available. Access to the 'memmove' builtin was also introduced. Read the announcement to the gm2 mailing list or view the full changelog.
A member of the Mocka Modula-2 Yahoo Group announced a modified Mocka Modula-2 distribution which produces small binaries consuming very few ressources. More information is available. [UPDATE:] The Mocka package is available from the download area of the group now.
Other news: The latest changes to GNU Modula-2 were announced to the GNU Modula-2 mailing list.
Les May reminded me of a package I created some time ago to keep FST Modula-2 alive. While there were some problems with it for users of Windos 2000, Windows XP seems to be a better choice for users of this great tool. I also tested the pack with Vista and did not have any problems. But I do not know and I do not want to know what happens to your computers when trying to start one of the system-near example programs which usually interrupted the flow of things.
As also proposed via the guestbook I added the freeware Editor PSPad to my list of Modula-2 aware editors.
Jan Verhoeven made available a Dutch version of Niklaus Wirths book Compiler construction. The book dates back to 1986 and describes how to build a PL/0 compiler. Translators are invited to help us non-Dutch-speaking people out. More details are available at the Mocka and Modula-2 mailing list.
Great news. GNU Modula-2 0.61 is out "which is available in source form or as a Debian binary for i386, ppc64 (PlayStation 3) and amd64".
Gaius Mulley announced the availability of GNU Modula-2 packages containing a cross compiler for building ATMega8 binaries. Some instructions and a simple example are available to add the packages to your system and test the compiler.
GNU Modula-2 now builds with a patched version of gcc 4.1.2; The latest message of Gaius Mulley to the gm2 mailing list has more on a huge number of recent changes (ChangeLog).
Snowman, moderator of the XDS Forum, elaborates on the 64 bit future of Excelsiors Modula-2/Oberon-2 compiler (scroll down to find the message).
Other news: If you do not follow the GNU Modula-2 mailing list, there is an interesting message containing details on the latest changes to the compiler sources.
New screenshots of Modulipse, a project to integrate Eclipse and GNU Modula-2, are available since may 1st. They demonstrate the ISO awareness of the project which will hopefully be available to the public soon. Jose David Moreno, creator of the project, also said he doesn't plan to add support for other compilers than GNU Modula-2 but it won't be too hard to code new features.
Other news: There is some noise in the Excelsior XDS Forum which may contain interesting bits and pieces for some of us. User Uranus also reminds us of the second birthday of the XDS Modula-2/Oberon-2 freeware release.
Some time ago I uploaded a Wikipedia stub on Modula-2+. Everyone who knows more is invited to extend the article.
The Free Modula-2 Pages celebrated their fifth birthday on April 17. Thanks to all who participate(d) and support(ed) the project.
A kind visitor told me about the appearence of some screenshots related to a project called Modulipse which seems to be about Modula-2 support for the Eclipse IDE/platform/whatever. Does anyone have more information? This looks interesting...
The Free Modula-2 Pages News Feed is now available. For those who have problems with using this there is an introduction (Wikipedia).
A final update for the QDTools package is now available from the download area. Some bugs got fixed, some things were added like partial support for long filenames. For brave users of the command line there are some really interesting programs in there.
Medcalc - a program nearly completely written in Stonybrook Modula-2 - received its certification for Windows Vista. "MedCalc is a complete statistical program for Windows designed to closely match the requirements of biomedical researchers. It is fast, user-friendly and reliable." The program is a commercial product but it is possible to download a free trial version from the homepage. The program does not only show the power of Modula-2 and of course its user but also demonstrates that a Modula-2 compiler which has been developed for an older Windows operating system is perfectly usable for projects targeted to Windows Vista.
My email-provider is no longer reachable. First there was no more spam, now the server seems to be dead. The new adress to reach me is modula2 at gmx.net.
Mr Rick Sutcliffe published an updated version (2.32) of the Modula-2 FAQ (01/25/2007).
FileIO_4_MOD32 is an implementation of the CocoR FileIO module for Canterbury Modula 2 (MOD32 - not Java!). Jean-Pierre Dezaire recently published this module at Modula2.org. A description from the projects page: "This is the implementation part of FileIO module for Canterbury Modula 2 (MOD32), a 32 bit compiler for OS2/ECom station. The definition part can be found in CocoR package (just browse the web)."
A module to work with ANSI codes in text terminals and virtual consoles is available now from linux.aliboom.com. Visit the pages of Mr. Terry Ross to get more information or browse the definition module.
Please visit the new community driven section of the Free Modula-2 Pages! Get in touch.
Some patches to run XDS Modula-2/Oberon-2 (XDS-x86 and XDS-C) under FreeBSD (and I guess DragonFlyBSD) were published in a thread of Excelsiors forum.
Other news: Have a look at linux.aliboom.com. Some short articles on Modula-2 related stuff are available from there.
Frank Schoonjans set up a page for a Modula-2 to Free Pascal translator written by Jean-Pierre Dezaire. The package contains binaries for OS2/EComStation and Windows platforms as well as example sources. The author points out that the program is not mature but usable.
The new year begins with an update at linux.aliboom.com. New example programs are available as well as updated information on programming for Linux using Modula-2. The maintainer of the site also informs about an ongoing project to translate parts of Murus from German to English to make the Modules available to more people.
GNU Modula-2 now builds as a cross compiler for the AVR microprocessor. An announcement containing download-links and more information was published by Gaius Mulley in the GNU Modula-2 mailing list. EDIT: This page briefly describes how GNU Modula-2 can be used to produce ATMega8 binaries.
Gaius Mulley published an interesting paper giving some details on GNU Modula-2 and the progress the project makes. The paper was presented at the GCC Developers' Summit 2006 conference and is now available from the GNU Modula-2 homepage. Very informative stuff it is.
Just found a new project at SourceForge.net: xds-gtk2 is a XDS Modula-2/Oberon-2 binding of GTK+. The project was activated a month ago and I am really eager to see the first files to appear there. UPDATE: Version 1.0 was released the day after I wrote the lines above.
Topic: Editing source code. A beta of Proton is available since february. Version 3.3 PR 1 now comes with an integrated file manager and english language support. I used version 3.2 for a long time with Gardens Point Modula-2 to have a simple but elegant solution (You also need to download the syntax highlighting file; Just put the file in the subdirectory /syntax).
I also uploaded SynEdit 2.4 by Matthew Inman (MKI Design) to the local download-area as it seems to disappear silently from the net. As long as one does not edit very huge files on very old computers it's a nice editor coming with Modula-2 syntax highlighting on board. By the way: A list of editors with Modula-2 syntax highlighting is available.
Just a pointer. These days I printed some parts of Svend Erik Knudsens doctoral thesis "Medos-2: A Modula-2 Oriented Operating System for the Personal Computer Lilith (1983)" which is available from ETH E-Collection, an important (and in my opinion great) "electronic publication platform for scientists of the ETH Zurich". As reading this highly recommended text got more and more interesting I updated my relevant section of the local FAQ. I hope we'll have a new Modula-2 based operating system one day...
A link for people who are able to understand German text: An interesting thesis comparing available Modula-2 compilers by Mr. O. Gardi is available from the ETH RAMSES homepage mentioned below. The text is a bit dated (e.g. GNU Modula-2 0.43) but nevertheless interesting.
Other news: Some people found out XDS-x86 does not like 64 bit platforms and an updated GNU Modula-2 build is available from the download-area.
The rewritten home of RAMSES (Research Aids for Modeling and Simulation of Environmental Systems) is now part of the Modula-2 Webring. "RAMSES is a generic modeling and simulation environment that allows you to solve a wide range of modeling and simulation problems easily (Fischlin 1991 PDF). You can model and interactively solve non-linear differential equations, difference equations, and discrete event systems in any combination; size and complexity of your model is only limited by your computer's resources." Documentation is available. You will need Stonybrook (Windows), p1 (Mac OS X) or EPC Modula-2 to use RAMSES with other operating systems than classic MacOS (For the latter there is the free MacMETH Modula-2 which you can fetch from here).
Latest details on the development of GNU Modula-2 can be found here. Update (10/19/2006): gm2-harness 0.96 was released today. There is a new option to exclude libraries from the building process. "This option might be useful, in the interim, when testing the gm2 and gcc-4.1.x combination, as it fails when building the Ulm libraries. So hopefully users could install a gm2 based on 4.1.x and test it with local projects."
Again, news from the GNU Modula-2 Homepage: "gm2-harness 0.93 has been released which will download, patch and build gcc, gdb, gm2 with the SET and TYPE enhancements below. It also honours the --prefix=, --with-cvs, --with-gdb and --with-gcc= options."
According to the GNU-Modula-2 Homepage gm2-harness-0.9 was released some time ago. Download the package which helps in downloading and building GNU Modula-2 from there.
A new binary release of MOCKA (Karlsuhe Modula-2 Compiler) is available. "This is an updated version (2006-08-07) containing the missing $SYSDIR/M2RTS-ErrNo.o file in the sys subdirectory."
A new version of the multi-language compiler Strannik is available since July 5th (floating point functions added).
Relinking two interesting and often updated Modula-2 sites: First one is Murus which is an interesting collection of modules and programs which is often updated. Second is Jan Verhoevens Modula-2 Page which was also updated recently. Find there different programs and modules and the friendly founder of the Mocka and Modula-2 Mailing List.
An updated binary build of the GNU Modula-2 Compiler is available from the download-area.
Back from my holidays in Corsica I realised gm2-harness-0.8 is out as a reaction to the release of gdb-6.5. Download the package which helps in downloading and building GNU Modula-2 here.
While I'm gone fishin' (I'll be back end of the month) you may want to have a look at LRgen 6.0. This is a commercial product by Parsetec. "LRgen is a Translator Writing System for building parsers, translators and compilers for computer languages. It's based on the powerful new TBNF grammar notation, a superset of EBNF." They offer a free download-version lacking the Modula-2 grammar included in the professional product.
A new version of Mocka, the "MOdula Compiler KArlsruhe" is available. Apparently it is an updated version compiled on a recent Linux-system. The former page of the compiler is still online but marked as deprecated. A big thanks for the pointer to the new version goes out to Jan Verhoeven and the Mocka and Modula-2 Mailing List.
While doing the usual search for Modula-2 related sites (which is done every 2-3 months) I found Mr. Kim Moser's site which contains some older Modula-2 sources (written for the Logitech compiler) in a subdirectory now published under the GPL.
Other news: A new version of the multi-language compiler Strannik is available since April 29th (bugfix-release).
You may want to check the most recent threads of the GNU Modula-2 mailing list. The compiler will be built upon GCC-4.1 soon and so takes a big step in becoming part of the GCC main tree in the more or less near future.
German speaking people may be interested in two articles by Eckart Winkler published on the authors homepage.
Thomas Breeden - developer of Aglet Modula-2 for the AmigaOS platform - published the Groupwise API in Modula-2 at developer.novell.com. Here's a short description from the page: "The GWObj and Adm API for Modula-2, and some higher-level support modules to make common GW programming tasks somewhat easier as well as provide example templates. A few complete example programs included."
A kind visitor and user of the FST Modula-2 installer package told me there are problems with the package under Windows 2000. I don't really know what to do as I don't use this operating system and so cannot test the packag with it. This entry to the guestbook provides a possible solution.
GNU Modula-2 0.51 is available now. Here's the announcement.
The combination of Modula-2 and Linux may become more interesting for beginners. Mr. T. Ross has started a project which aims to deliver the examples in "Beginning Linux Programming" translated to Modula-2. All the Modula-2 related pages of the project maintainer got a facelift by the way.
In our series of bringing attention to interesting Modula-2 related resources and projects... Christian Maurer continually improves and puts work into a collection of projects known as Murus. Sources are available for Linux (Mocka) and Dos (Fitted Soft Modula-2). The package is very useful for beginners using the Linux/Modula-2 combination as there are modules providing access to important system calls and a Mocka interface to X11. Please note: Most of the pages and sources of the projects are kept in German language.
Roberto Aragon put up a page with the promoting title Modula-2 is alive. The new page basically contains binaries of GNU Modula-2 for the x86_64 architecture. There are two different versions of GM2+GDB for x86_64 which are different in size. Quoted from the homepage: "As part of the build, I developed a shell script as a wrapper to GM2, which provides access for making, compilling, debugging (with ddd or gdb) and browsing man and info pages of both gdb and gm2 that can be useful for novice users." The smaller package provided requires a 'bootstrapping' before using which can also be done by using the shell script. Earlier Mr. Aragon published some information on howto use Mocka with DDD and Kate.
03/09/2006 [edited 03/11/2006]
Today I want to bring some attention to the interesting Modula-2 pages of Mr. Terry Ross. He is working on a project to produce Manpages for the libraries of XDS Modula-2 and develops an IRC-bot for the Linux-distribution he supports and co-develops (SourceMage Linux). You may view and use the GPL-licensed sources of the bot. Let me add: These sources contain a lesson in all the difficulties you have to face when using C-libraries from Modula-2. And this is also the one and only Modula-2 example interfacing and using BSD-style sockets.
Other news: A new version of the multi-language compiler Strannik is available since February 23rd. Beside of other improvements there's a new class for using Tab-Controls. The Modula-2 dialect understood by the compiler is a bit strange - nevertheless it's an interesting project.
M2Latex is available (again) from the download-area. Sounds good but it's not that easy. I found this package enclosed in some archived posts to comp.lang.modula2 - the reconstructed package was written for SunOS4 and does not compile on my Linux-box. While I am sure it's not that hard to rewrite the whole thing it may be interesting to have someone able to understand C look at the sources. My impression is that there are problems because of the differences between the language written and the language supported by GCC. Please help.
Other news: An updated GNU Modula-2 0.5 binary build is available (including GDB).
GNU Modula-2 0.5 is out. It's not only there for testing but also to give you all the power of a complete PIM Modula-2 compiler coming with libraries. The homepage of the compiler has got a new adress now. Updated binary builds will follow soon - but not too soon.
Version 0.5 of GNU Modula-2 seems to be ready to be released in the next few weeks according to the latest GNU Modula-2 Changelog.
Other news: While the Wrapl project does not produce a Modula-2 compiler but uses the XDS-package for essential parts I don't want to forget to mention the projects redesigned homepage. The author of this Icon-like language introduces some interesting ideas.
The Amsterdam Compiler Kit is now available from its new Sourceforge project-page. While the package sometimes seemed a bit forgotten, it may gain some popularity through a cleaned build process and with the release of Minix 3 under a quite liberal license. The Amsterdam Compiler Kit also has frontends for C and Pascal and should compile on modern Linux systems. I haven't tried to build it but I plan to make the whole thing available as a Slackware package. The contained compiler is a PIM-style tool. If you are interested in testing Minix plus the ACK-M2 compiler without repartitioning your system just use Bochs and a disk-image from the same link. I tried this combination some time ago [Screenshot] and found out it works.
Other news: I updated the ApfelWiki Modula-2 page. This is a german Wiki for Apple Users. Please correct me (and others participating) there if necessary.
The Q&D Tools by PhG (Thanks a lot!) are now offered from this page. This interesting package contains a lot of usable utilities for the DOS-commandline which are still usable under different Microsoft Windows operating systems. Some but not all sources (Topspeed Modula-2, PowerBasic, Visual Basic) are available. You may download the package from the local download-area (The package is mirrored here). The package is freeware, copyrights by PhG. Please read the enclosed license for details and have a look at all the other stuff that can be found in the archive.
I also updated some links but not all of the dead ones are found by now. Please note: I told you there's a mailing list for questions on Gardens Point Modula-2 some weeks ago. This one should not be used any longer. Please ask your questions via the Gardens Point Component Pascal Group.
As some of you who followed the discussion may have anticipated the Sources of GNU Modula-2 have been moved to savannah.gnu.org. The gm2-harness package was updated to version 0.7 to reflect the migration to the new server (download here). Additionally the new version also makes it possible to specify the --prefix-option which gives you the power to install the freshly built GM2 to a directory of your choice. Read more by visiting the archives of the GM2 mailing-list.
Here is the latest changelog of GNU Modula-2 (cleaned build process, availability of additional gcc-builtins and a lot of bugfixes).
I wish all my visitors a happy new year. The first update for 2006 wants to bring some attention to WRAPL. This is a quite ambitious open source project which uses the XDS Modula-2 compiler. "Wrapl is a high level programming language designed to be compiled to bytecode for the Riva virtual machine. Wrapl is based on the Icon programming language and started out as an attempt to create a faster implementation of the Icon language. However, Wrapl was also intended to have some additional features and has gone through several major changes since its conception towards the end of 1999." Here's some documentation (pdf). You may be interested in the sources of the new version.
The "Programming Languages and Systems Group" at Queensland University of Technology (the makers of Gardens Point Modula-2) now offers an online GPM/CLR compiler. "With the online GPM/CLR compiler, you can compile Modula-2 programs online and download the resulting .NET executables." Very interesting in my opinion. Try it. Don't forget there's a mailing list for questions related to Gardens Point Modula-2.
There's a recently contributed Manual page for GNU Modula-2. You may also want to have a look at the latest Changelog of the compiler.
The CVS repository of GNU Modula-2 is now browseable with an ordinary webbrowser. Thanks to Gaius Mulley and the people who develop(ed) CVSWeb. "CVSweb is a WWW interface for CVS repositories with which you can browse a file hierarchy on your browser to view each file's revision history in a very handy manner."
Gm2-harness 0.6 is out to build GNU Modula-2 for you. It also builds the GNU debugger gdb and applies patches to gdb and gcc before building. Read the announcement here.
Other news: A new version of Strannik is available. The dialog editor was improved.
A short time ago Minix - the system which hosted early Linux development in its even earlier days (Minix was written by Andrew S. Tanenbaum) - got a new homepage and the new version number 3. The system still comes with the ACK compiler-kit which contains a PIM Modula-2 compiler. The OS is now distributed under a BSD-style license and I'd like to underline that. (If you want to compare: here's a link to the latest BSD-license available from www.opensource.org.
Other news: There is an article on common mistakes when using exceptions on devsource.com - the examples also apply to ISO Modula-2, not only to C# and Java.
There is a new roadmap for p1-Modula-2 which was published in June 2005. p1-M2 is an Object Oriented Modula-2 compiler for Apple Macintosh. It implements ISO standards ISO 10514-1,2,3 and so it is the one and only (commercial) Modula-2 compiler being fully ISO compliant. Well, I know these pages are called the Free Modula-2 Pages but I just raised an exception. A more detailed description of p1-Modula-2 is available as is the compiler manual.
Thanks to Frank Schonjaans and Modula2.org the Free Modula-2 Pages found a new home at freepages.modula2.org. I am really happy with this solution especially as such sudden disappearence would clearly be a wrong signal to the interest-gaining Modula-2 community. Please don't forget to update your bookmarks. Thank you.
There was a bugfix-update for the multi-language compiler Strannik.
Have you already had a look at the Modula-2 Enthusiasts Frapper Map? Quite a nice idea. Other news can be found reading the October-threads of the GNU Modula-2 mailing list. Note that GNU Modula-2 now runs on Apple's OSX (not perfectly well at the moment).
The Free Modula-2 Pages will be reduced for some time. Especially the downloads will not be available for some time. The project was hosted at my students-webspace at the University of Vienna. As I am no longer a student there my account will be deleted at the end of the month. I am thinking of various ways of how to keep the thing alive but it will be different for sure. For a start I'll have to find some webspace. The URL will change. I'll keep you informed. Maybe there'll only be a Modula-2 News Page for some time. And as I am talking about the Modula-2 Pages themselves: Why not sign the guestbook as long as it is there?
Mr Rick Sutcliffe published an updated version of the Modula-2 FAQ. A few days later he had to update again because of all the feedback. Nice. There seems to be rising interest in the language. Other news: Neo posted a message to comp.lang.modula2 which explains how to use Eclipse and Modula-2 together. Interesting. Thanks. UPDATE: Reading the M2-FAQ I found a promising link related to Objective Modula-2.
A new project called Objective Modula-2 tries to extend Modula-2 in an interesting way. The project has not released any files (as the SourceForge guys usually tell you when viewing projects in planning-state). There's some discussion on the project on one of Apple's mailing list. There is also an entry on OSNews.com. This message is especially interesting, as it let's you know who is doing the work.
I uploaded a GNU Modula-2 Debian-package. Naturally for an untested pack it is highly experimental as I do not have Debian installed here. Please tell me if it is usable. The brave tester will of course have to setup some things by hand. This is also a perfect moment to point out that everyone can build the compiler by himself meanwhile. The gm2-harness package available from GNU Modula-2's home works perfectly well. Just be careful when it comes to 'make install' as you should not overwrite your original GCC installation.
An updated binary build of GNU Modula-2 0.49 is available from the download-area. I used gm2-harness-0.5 to checkout gm2 today to have the latest changes included. Available as tar.gz and Slackware-package.
A new package is available from The Sources Store for the Modula-2 and Oberon-2 Programming Languages. It contains sources for Q&D Tools for DOS. These are TopSpeed Modula-2 sources (also PowerBasic - remember this great compiler?) for a huge number of small (mostly command line driven) utilities for DOS.
XDS is "pleased to inform you that we have released under a freeware license the entire XDS product line, including Native XDS-x86, XDS-C, and the Topspeed Compatibility Pack add-on on both Windows and Linux." For details and downloads click here. Other news: Recent changes to GNU Modula-2.
The Free Modula-2 Group is now (also?) hosted at Berlios.de. The multi-platform compiler to be built by the group will use the Coco/R package to get started. The homepage of the project was also transferred.
A Yahoo Group called The Free Modula-2 Group was founded yesterday. It's got a very interesting description: "Modula-2 is a beautifully designed and well-structured systems programming language that has yet to realise its full potential. This group seeks to change all that by developing; 1) a free multi-platform Modula-2 compiler and IDE, 2) a GUI builder for fast application development 3) new libraries - graphics, networking, bluetooth, etc - for new and existing compilers such as FST 4.0, XDS, TopSpeed and Mocka. Our philosophy is simple, just take something good and just make it better!" You may find some more information here.
Another module (by Fredi Cobo) for writing Microsoft Excel files was uploaded to the Modula-2/Oberon-2 Sources Store in March. Description from there: "XLS, a module to generate Excel 2.1 native files, useful for simple reporting and export of data. No Excel installation required." The alternative can be found at modula2.org.
Jan Verhoeven uploaded a new version of the M4M project. Here is the announcemnt. The homepage of Strannik was updated and it is online again. There are new demo programs to illustrate how to work with DirectX.
Tom Breeden published an "interim" Modula-2 compiler called Aglet Modula-2 for pre-releases of AmigaOS 4 (PPC). The announcement was published in comp.lang.modula2. There is a homepage where you can download the compiler and get basic information on it.
GNU Modula-2 0.45 has been released (announcement). "Basically the reason for the version increase is that GM2 now build and installs the ULM Modula-2 libraries." I am not able to update the binary builds at the moment so if someone could do a build and upload it please mail me. Thanks in advance.
Not many news to report this year... The homepage of Gardens Point Modula-2 has moved. Some people are thinking of writing a GTK binding in the Mocka and Modula-2 mailinglist. Help seems to be more than welcome. Does anyone have information on the disappearence of the Strannik compiler?
FST Modula-2 4.0 is available in the languages-directory of FreeDOS. The compiler is not in the official list but it is there (look here: FreeDOS mirror at www.ibiblio.org.
Merry christmas and a happy new year to all of you.
New modules are available from www.modula2.org: A module to handle regular expressions is available at http://www.modula2.org/projects/RegExpr.php, you may also fetch a library to read XML files from http://www.modula2.org/projects/xmlread.php.
Rick Sutcliffe published an updated version (2.29) of the Modula-2 FAQ which is published monthly in comp.lang.modula2. There is a lot of information in these files. The FAQ is available from arjay.bc.ca.
A new Stony Brook Modula-2 subsection is available at modula2.org to support users of this compiler. The original homepage of the compiler is also mirrored there.
There's a new package available to aid you in building GNU Modula-2. Most steps needed for building the compiler are automated by a build-script. Necessary files are downloaded (GCC + testsuite + latest CVS GM2). You get a real up to date GNU Modula-2 when using this. The package which is called gm2-harness was announced yesterday and is available from the GNU Modula-2 homepage. This really saves a lot of time. Hint: The script stops after building the compiler and does not perform all the tests if you do not have DejaGNU and Expect installed.
From the history-page of Excelsior: "NPO PM, a Russian leader in the design and manufacture of communication and broadcasting satellite systems, signs a direct 15-month outsourcing deal with Excelsior. We have to create the new generation of Modula-2 tools tailored for on-board spacecraft software development." I am really impressed - Modula-2 in space. Great. There's more information available through the official press-release.
I just noticed there's an entry for Modula-2 in the Wikipedia. One can edit this entry and suggest improvements. A nice system in my opinion. Have a look and change what seems to be wrong...
Jan Verhoeven published an article on how to use SVGAlib with Mocka, his Modula-2 compiler of choice: "Normally, when you need a good and reliable graphics package, you go for SVGAlib. It's stable, fast and reasonably universal. But, svgalib was written for and in C. And I kind of don't like C. To put it mildly. I'm not saying that C is a bad programming language. It's just not my kind of language since it gives too much freedom and almost no protection. That's why I want to use Modula-2 in combination with the SVGAlib libraries." Follow the link to find out how it's done.
A version of EGEM for use with the Gardens Point Modula-2 Compiler (PC/DOS) may freely be downloaded now. Please note this package may still need some testing.
Iceberg Software now distributes free binaries of its Egem library via the Free Modula-2 Pages. An Ada95-version is already available, Modula-2 will also be there soon. Some facts taken from the package documentation: "EGEM ( Embedded Graphical Environment Manager ) is the result of a study conduced by Iceberg software on the feasibility of complex embedded graphical interfaces in the field of the High Integrity Systems. It could be employed in a wide range of industrial application areas such as Energy, Ground Transportation, Medial Devices and many others. Its objective is to give a safe and simple instrument that could be easly integrated to real-time systems and easly analysed by tools to provide the certification required by the major international standards." Fetch a copy of the Ada-version from the download-area.
Other news: I have to apologize for not updating the GNU Modula-2 binaries for quite some time now. I have some problems with the packaging since I am using Slackware 10.0 as my main system to do the builds. I'll try to figure out what's going on soon. Hopefully. Thanks for your patience.
I just noticed some changes were applied to the development version of M2C earlier this summer. M2C is a GPL'd Modula-2 (PIM3/4) to C Translator originally written by Vladimir Makarov. Stable version is available here. I also applied the patches and rebuilt the M2C Slackware-package which is available from the download-area.
Other news: GNU Modula-2 was updated (Latest changes reported to the GM2 mailing list). I'll try to update the binaries soon.
Information on ISO Modula-2 is rare. That's why I point to three articles that are available via FTP which is not - in my opinion - the best way to present information these days. The articles give a little background information on ISO Modula-2 and help to understand the differences between PIM and ISO. I also converted the original documents to pdf - the result doesn't look that good in Acrobat Reader but if you print the files the output looks good again (Seems to be a problem of Ghostscript which I used for the conversion). The Pdf's will be transfered to the downloads-section soon.
(1) [pdf] [ps] ISO/IEC 10514-1, the standard for Modula-2: Process Aspects
(2) [pdf] [ps] ISO/IEC 10514-1, the standard for Modula-2: Changes, Clarifications and Additions
(3) [pdf] [ps] Standardized Extensions to Modula-2
Strannik was updated (08/24/2004). Visit the compilers homepage to get more information.
The Fitted Software Modula-2 package was updated again as there were some errors in the installation script. This time I included several Sources (Pat Terry's alternative library for the compiler, Jan Verhoeven's VGA and Lowlevel Libraries and a package called taak326b.zip which uses the object oriented extensions of FST and is modelled after the Turbo C++ Class Library) and the Borland Turbo Debugger. Paths to the HTML documentation and some other bugs have been fixed.
Frank Schoonjans uploaded a multi-file search and replace utility on modula2.org: "The download contains both the source code for Stony Brook Modula-2 and executable for Windows."
I updated the links to Jan Verhoevens Modula-2 Page which is in fact one of the most active pages related to the language. Check out a wide variety of GPL'd projects written using the FST or the Mocka compiler.
A new version of the FST 4.0 Installer is available from the download-area. I added some goodies like the library sources (Thanks Jan) and an example on how to use Borlands Turbo Debugger with the compiler (Thanks Julian). As usual the package comes with simple HTML documentation and an uninstall-option. As I am not using Windows any longer I will not update this package any more. If anyone wants to take over and build and test the thing with Windows XP just mail me.
Another commercial Compiler, Stony Brook Modula-2 will no longer be developed. Read the announcement at Modula2.org. You may also follow the "Stony Brook, we will miss thee"-thread at comp.lang.modula2 (link to Google-groups).
Time to play. In case someone is interested. I installed Bochs and downloaded a Minix 2.0.3 Diskimage to see if the ACK Modula-2 Compiler is included. Well, it is. The Compiler is part of the Amsterdam Compiler Collection which also includes C and Pascal Compilers. The Modula-2 Compiler is PIM3 and comes with a set of PIM-style I/O Modules. Took me some time to find out I have to read the manpage for cc to get information. By the way: The ACK Compiler Collection is available and one may be able to build the compilers on recent Linux and Unix distributions.
The Sources of LUMOS-2 which is a complete operating system for the Stride 440 (quite old machines usually running System V UNIX) are available again (Big thanks to A. Naumov). Read a short description of the system.
Have a look at the latest changes to GNU Modula-2 (Uh, I'm late). Added Tayloris Modula-2 and Oregon Software to the list of disappeared compilers. I still find new ones... Changed the style of the menus to make them more inviting. Hope it works for all of you.
The homepage of GPM Total is down so I offer the program from the local download-area. GPM Total is a simple but handy IDE for the DOS-version of Gardens Point Modula-2.
The ISO SYSTEM of GNU Modula-2 is implemented. Try the recommended link to find out more.
Tom Breeden published a Test Generator for ISO Modula-2 at Modula2.org. Here is a short description from the projects page: "tgM2 is a program to aide in unit testing of Modula-2 software. It takes as input a user-prepared test script (*.ts file) which specifies one or more tests of a procedure or code block to be executed and reported upon. tgM2 writes out a Modula-2 program for this test suite. The output program itself writes its results to standard output."
Paul Ferril has written an interesting article "What is Mono and why should you care?" published on DevChannel. As there is a Modula-2 compiler for .NET available from the Programming Languages and Systems Group in the Faculty of Information Technology at the Queensland University of Technology I thought it may be a good idea to point to this short introduction.
The "multilingual compiler" Strannik has been updated (04/04/2004). Sources of the compiler are available. The compiler is distributed as Freeware.
The official home of ISO/IEC JTC1/SC22/WG13 (ISO Modula-2 working group) has recently been updated. No big changes, but the old Modula-2 FAQ was removed. I think this is a good point to put a link to WG13 here. Maybe this helps in bringing some more attention to the standard.
Some people are thinking about writing their own Modula-2 compiler for microcontrollers. Visit the Mocka and Modula-2 mailinglist to find out more. Meanwhile there's a homepage for the project.
I have registered the domain www.fmp.net.tf to simplify access to these pages. I think the url is much easier to remember. You do NOT need to update your bookmarks. Alternatively you may reach this site via www.modula2.net.tf.
GNU Modula-2 builds updated as version 0.42 was released. Download a build.
News from the GNU Modula-2 mailing list: The compiler now supports the AMD 64 bit Opteron Processor. Please help to test.
Up to date GNU Modula-2 binary builds (gcc-3.3.2+gm2-0.41) are now available from the download-section.
SynEdit reappeared. It's a nice editor for Windows offering Modula-2 syntax-highlighting. It's a bit slow handling really big files.
Lots of great news. A new version of Gardens Point Modula-2 is available. It's a front-end for the Microsoft .NET platform (!). The complete set of GPM-docs is now available in pdf-format. You may download the complete EGEM v1.1 package from Iceberg Software now. GNU Modula-2 was updated (v0.41). I am sorry but I cannot update the binary packages at the moment. I rewrote some syntax-highlighting files which are now available from the download area (ISO Modula-2_VIM 6.2, ISO Modula-2_Proton). Also, Modula-2.org was updated (looks much better now, improved usability).
Happy new year. Again, GNU Modula-2 has been updated. A new page called Lilith and Modula-2 is online at CFB Software. You may download one of the first Modula-2 compilers (M2M-PC System v1.35 for MS-DOS) there. Compiler sources and some very interesting documents are also available. Also have a look at the project User Device for ISO Std Channel I/O to Memory by Tom Breeden. This is interesting material.
Redesign finished. Tested quite a lot. Hope it works for all of you. Tell me what you think about it. Strannik has been updated (11/11/2003), some time ago (10/26/2003) Roberto updated his page: Compilando y depurando Modula-2 en Linux: mocka+kate+DDD.
GNU Modula-2 has been updated, also the homepage of the compiler.
The Modula-2 FAQ has been updated. Version 2.28 has been released (10/10/2003).
A small update for some areas. Have a look at forums/lists and the FAQ, also the downloads.
Iceberg Software released EGEM v1.1, for GPM-PC; Contact them to obtain a free testing distribution package.
Updated GNU Modula-2 binaries are available from the download-area.
GNU Modula-2 release 0.4 is out. Read the announcement to find out more.
A GNU Modula-2 build in packaged form is now available from the download-area. FOR TESTING PURPOSES ONLY!
A new site for Spanish speaking people: Modula-2 en Linux: A brief tutorial to start working with Mocka (Linux) by Roberto. Thanks for the submission.
Modula-2 Chess at SourceForge appeared this summer. Have a look. The game is written for Mocka and comes with an experimental X11-interface. Documentation is Spanish.
A huge library for Atari compilers called M2LIB (by Holger Kleinschmidt) is now available from the download section.
Contributed by J. Miglio: a 16 bit high pass filter module for Gardens Point Modula-2.
Report on the programming language Modula-2 (4th edition) now online. I found this in the m2c-translator package.
Julian Miglio contributed a mouse library for gpm.
GNU Modula-2 is now fully PIM compliant.
Docs for GNU Modula-2 have been updated.
A MySQL-binding by F. Schoonjans is now available from modula2.org.
A new message bord for questions related to Modula-2 or modula2.org is available.
GNU Modula-2 / h2def: a new utility to translate header files to definition modules.
XDS 2.51 (Linux) is available now - basically some fixes. Works fine now on newer Linux distributions such as Redhat Linux 8.0 and Debian Linux 3.0.
New builds of Gardens Point Modula-2 available. A few weeks ago a new website for GPM appeared and while a whole lot of people thought the compiler was slowly disappearing, there are fresh builds available now. Some dated 2003 (Linux + FreeBSD). There also appeared a version for Sparc.
Another set of docs is online: the gpm-library reference. I play around with all of these compiler-docs because I'm doing a simple CM-program.
I put my m2f-library reference online.
modula2.org offers new and highly interesting sources. Frank Schoonjans also edited the Coronado Modula-2 Tutorial to be usable again for people working with newer compilers like XDS or StonyBrook Modula-2.
1000 people have visited this page! My counter does NOT count my own visits, so this is quite impressive for a page about some so called 'dead' language - I put the page online in april 2002.
New M2-website at modula2.org.
A new version of Strannik (C/Pascal/Modula-compiler) is now available. The compiler is now object-oriented. I haven't tried this.
Found the original ETH-report on Modula-2 by Niklaus Wirth (2.5MB, .pdf). Thanks to Karl Kleine's great collection of historic documents related to computer languages.
Translate Modula-2 to Ada95: This link is a User-Submission (FIRST GOOD ONE - THANKS!). This is important - I think migrating from Modula-2 to Ada95 is a really good idea. Description from Submission: "Modula can be ported to Ada 95 by using Pascal as an intermediate language, and using the NewP2Ada program that is available from here. The owner of the website added changes and bug fixes so that the new NewP2Ada now ports the output of the Mod2P program (a program to port Modula into Pascal), into Ada 95 with less manual editing of files. I got 130,000 lines of Modula source code body (and spec) files, translated to Ada 95 in 2 to 3 days. But the resulting Ada 95 would not compile and it had many syntax errors. The main issue to fix is the reformatter and the quality of the porting is good enough. Also Mr Pat Terry intends to do nothing for an unknown period of time, on the COCOR Mod2P (Modula to Pascal) program. Once a program is in Ada and once the programmer tries to think ahead of porting problems (e.g. posix, makefiles, etc.), then the problems with porting software can go away."
Just an update for the Installer-package. FST Modula-2 4.0 and Mide3de2 1.1.
Mide3de2 1.0 is out now. This is an Integrated Development Environment for FST Modula-2. The program is also available from this page as part of a package wich also contains the Modula-2 compiler by R. Carvalho - have a look at the download-area.
An English version of Strannik is now available. This is a so called "Multi-Language Compiler". It's able to translate C, Pascal and Modula, but the Modula-Language supported is a bit strange.
GNU Modula-2 Release 0.33 - last changes according to homepage: large sets, ISO complient sets, when gm2 is invoked with -gstabs a patched gdb will display set contents. This also works well with SET OF CHAR, definition modules no longer have to explicitly export identifiers, gdb has been patched to understand gm2 large sets ( gdb-5.2.1+gm2.tar.gz).
Mark Ballew's and Jason Baurick's Modula-2 for IRIX (open source): alpha 0.0.2; I found this when searching Sourceforge.net. You may download a small package containing sources for a Modula-2 compiler there. This may be a good starting-point for people who want to build such a thing.
Free XDS Modula-2 for Linux available. Here it is at last. A compiler with Modula-2 libraries for using POSIX-functions, the package also provides you with a simple X11-interface.

[ top ]  Discontinued History

02-12-2003 new m2c_0.6 tarball available, minor changes, modula2.org.
02-05-2003 minor changes, added links.
01-22-2003 the page is now valid XHTML. Thought I should do this as it's already 2003.
01-15-2003 added xtdlib to download-area, added modula2.org.
01-03-2003 a new version of strannik is available.
12-19-2002 found the original ETH-report on Modula-2 by Niklaus Wirth. Last update this year.
12-08-2002 added a link submitted by a visitor (compilers->translators). Thanks. New Style.
11-14-2002 updated installer-package (Mide3de2 1.1), some minor changes.
11-03-2002 new search functions, new links for gpm.
10-28-2002 added component-pascal to section compilers. new news-system.
10-16-2002 minor changes, one new link.
10-03-2002 some cleaning up and an updated version of the fst-installer.
09-27-2002 page is now valid html+css. from now on it's not my fault...
09-23-2002 minor updates: compilers, newsgroups, downloads.
09-16-2002 updated sections: newsgroups, compilers. link-check.
09-10-2002 fst4-docs now available in html-format. updated compiler-section.
09-05-2002 some changes, new links. still a problem with gpm-link.
08-25-2002 a few new links, some changes for better navigation.
07-31-2002 m2c 0.6 now available from download-section. some links changed.
07-26-2002 added commercial compilers, Modula-3/Ada95.
07-09-2002 added ConText syntax highlighter.
07-06-2002 added p2c-translator to section compilers.
07-02-2002 added menuet-compiler. some minor changes.
06-14-2002 faq-update. some links changed.
06-07-2002 updated sections: compilers, tutorials.
05-31-2002 added section 'common progr-tasks', some links, testing 4.xx version.
05-28-2002 uploaded new version for 4.xx browsers.
05-19-2002 added CP/M compilers.
05-18-2002 made an installer-package for FST and Mide3de2. updated gpm-links, added downloads.
05-17-2002 FST-compiler now available from this page.
05-05-2002 updated compilers section.
05-04-2002 added 10+ new links, correction of netscape-problems.
05-01-2002 added some new links and a submit-form. newsgroups-section.
04-30-2002 updated compilers-section (one-click-links), some redesign (left menu).
04-27-2002 updated tutorials/papers-section, added guestbook.
04-20-2002 added dmoz-search, links, more testing and a little update for the CGI-tutorial.
04-19-2002 first update, added download-section and lots of links in different sections.
04-17-2002 page uploaded.

Get more information


IRC Modula-2 Chat

Modula-2 at Wikipedia.org

Modula-2 Webring
[ List all | Random | Join ]
[ Prev | Next ]


Contact, suggestions, submission of news items: modula2 at christophschlegel.at