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

What's it all about?

News from the Modula-2 World

Michael Riedl moved his open source Modula-2 code to a new server. 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.

Nikolay Burkov updated his work on providing Modula-2 bindings for raylib, a simple and easy-to-use library to enjoy videogames programming. "This is a low-level, thin bindings, i.e. the module definition just directly maps C API to Modula-2, with all of the names and meanings intact. This project is a work-in-progress. Currently, all of the Raylib public functions and datastructures are (somehow) interfaced, with numerical constants (enums) underway." The repository now also include thin bindings to raygui, "a simple and easy-to-use immediate-mode-gui library. (...) raygui was designed as an auxiliary module for raylib to create simple GUI interfaces using raylib graphic style".

Wilken Gottwalt uploaded his playground for the GNU Modula-2 GCC frontend to GitHub. The repository contains example programs for using raylib (a simple and easy-to-use library to enjoy videogames programming) with GNU Modula-2. There also are hints for using the GNU Modula-2 frontend. Thanks for sharing!
Paul Rahme re-released Exobius, a 1995 MS-DOS game written in TopSpeed Modula-2. Thank you!

Eric Streit posted a number of manuals for DOS Modula-2 compilers and related software packages to the GNU Modula-2 mailing list.

Interesting work is being done by Alice Trillian Osako (Schol-R-LEA) on the way to writing a Lisp interpreter called mal. There are a number of repositories over at GitHub, most interesting at the moment (in my humble opinion) UNICODE-For-Modula-2, Portable Bit Manipulation for Modula-2 and Modula-2-Readline-bindings.
Other news: m2-sqlite provides GNU Modula-2 bindings to SQLite 3. "This is a low-level, direct bindings using the FFI. Its coverage is far from complete and contains only the basic constants and routines of the sqlite3 C API for now: opening/closing of the DB, preparation/stepping/finalization of the statements, binding basic parameters and basic column accesses.

Thanks to Philippe Guiochon the Windows ports of a number of the Q&D Tools programs were updated recently following the update of the Q&D Tools package.
And Nikolay Burkov uploaded his interesting work on providing Modula-2 bindings for raylib, a simple and easy-to-use library to enjoy videogames programming. "This is a low-level, thin bindings, i.e. the module definition just directly maps C API to Modula-2, with all of the names and meanings intact. This project is a work-in-progress. Currently, all of the Raylib public functions and datastructures are (somehow) interfaced, with numerical constants (enums) underway."

Niklaus Wirth passed away earlier this year but his ideas and his way of thinking are alive, his legacy is crucial. Philippe Guiochon pointed me to an article entitled "Why Bloat Is Still Software's Biggest Vulnerability. A 2024 plea for lean software" by Bert Hubert reminding us of what Niklaus Wirth emphasized very often.

Philip Munts announced the availability of Linux Simple I/O Library bindings for GNU Modula-2. Linux Simple I/O Library (or libsimpleio) is "an attempt to encapsulate (as much as possible) the ugliness of Linux I/O device access". It provides services for a number of I/O devices. If you are interested in using Modula-2 for embedded projects, also have a look at MuntsOS Embedded Linux: "This framework supports Linux on several single board microcomputers. The goal of the MuntsOS project is to deliver a turnkey, RAM resident Linux operating system for very low cost single board microcomputers. With MuntsOS installed, such microcomputers can treated as components, as Linux microcontrollers, and integrated into other projects just like traditional single chip microcontrollers." There is an application note (PDF) describing "how to create, build, and run a GNU Modula-2 program to flash an LED on a target computer running MuntsOS Embedded Linux".

An updated Q&D Tools package is available from the download area. The archive contains an enormous treasury of handy programs and sources mostly written in Modula-2. The readme file contains extensive information about the contents of the package but also (philosophical/practical - where is the difference?) thoughts about our world, the development of programming languages and the fact that some things aren't going in the right direction.
Thank you again for all improvements, ongoing development and a critical view towards the world that is necessary and hopefully irritating.

News from GitHub:
(1) Thers is a new compiler project called M2NG: Modula-2 New Generation Compiler. "M2NG is an ambitious initiative aimed at reviving and modernizing Modula-2 codebases while providing the flexibility to transpile them into various contemporary languages, as well as to compile it to portable architectures such as the JVM, WebAssembly, and platform specific architectures such as the x86 and x86-64." The project is in an early state of development.
(2) Playing with Modula-2 on Windows is a project by Stéphane Micheloud who set up an unconventional Modula-2 environment on Windows: "This repository gathers Modula-2 code examples coming from various websites and books. It also includes several batch files for experimenting with Modula-2 on a Windows machine."
(3) Bernhard Treutwein preserved and is hopefully bringing back to life ModulaToOberon, a Transpiler from Modula-2 to Oberon and Component Pascal based on original work by Niklaus Wirth.
(4) Last but not least I added CotEditor to the list of programming editors providing Modula-2 syntax highlighting. It is an open source editor for macOS only. Modula-2 syntax highlighting files are (also?) available from a separate GitHub repository.

Benjamin Kowarsch reported to the GNU Modula-2 mailing list earlier this month: "The Modula-2 multi-dialect support for syntax rendering in VIM that I had contributed back in 2016 has finally been committed to the VIM source tree.
It supports PIM, ISO and R10 with dialect selection either manually by menu or user preference variable, or automatically from comments with dialect tags in the source code. The default dialect is PIM.
The commit details are here: Add improved Modula-2 runtime support (GitHub)." It took some time but anyhow, good news.

Sad news. Niklaus Wirth passed away on the first of January (Posting by Bertrand Meyer on X). A lot of people posted to Hacker News and other sites (The Register) to share their rememberings and thoughts. Niklaus Wirth was of great influence to a lot of people and will be remembered not only for the whole lot of technical contributions but also for being a respectful and humorous man and teacher. And he invented a number of programming languages, among them Modula-2. Update: Pauline Lüthi and Florian Meyer posted an article/obituary at ETH Zürich where Niklaus Wirth was a professor from 1968 to 1999.

Gaius Mulley, main developer of GNU Modula-2, announced and published an example project about how to use GNU Automake with gm2.

There once was a compiler for the Sinclair ZX Spectrum by a UK-based company called Mira Modula-2, released in 1991. I didn't know this compiler and was pointed to it by Chris, who visited these pages. He points out that it's a bit tricky to use the compiler. "It's made for the 48k AND 128k version of the zx spectrum even using the 128k RamDrive." Chris also gave some more hints to get things working: "I tried the Tape on 48k Spectrum and the example 'ROUTE' works after the file 'VILLAGES' was repaired, Modula-2 forum thread on Spectrum Computing. The software compiler M2: https://worldofspectrum.net/item/0012459/ or https://spectrumcomputing.co.uk/entry/12459/ZX-Spectrum/Mira_Modula-2. Better install it on From tape to Disk, Microdrive or use the RAMdrive since else its a burden to keep rewinding that tape per SUBmodule." Thank you!

REPERTOIRE is a toolkit developed by PMI in Portland, Oregon in the 1980's for use with Logitech, JPI, ITC, FTL and FST Modula-2 compilers running on MS-DOS. Sources are available for an indexed file system, a screen design/display system, a multi-window editor, natural-language analysis routines and low-level utilities. Chris Burrows made this package available and also contacted the original authors to make sure this can be distributed. Thanks for the effort!

An updated Q&D Tools package is available from the download area. The readme file contains extensive information about the contents of the package but also (philosophical/practical - where is the difference?) thoughts about our world, the development of programming languages and the fact that some things aren't going in the right direction.
Philippe Guiochon was kind enough to produce a separate package full of binaries for Microsoft Windows. Thank you again for all improvements, ongoing development and a critical view towards the world that is necessary and hopefully irritating.

Apparently I missed an interview with Frank Schoonjans which was published some time ago over at Atari Legend. It contains interesting bits of Modula-2 history and some insight related to MedCalc, a statistical software package for biomedical research with a history closely related to and based on Modula-2. Enjoy. Frank also kindly hosts the pages you are reading at the moment. A good time to say: Thank you!

Here is a project I really want to support by bringing more attention to it: MOTTO - Classic Modula-2 Translator Tokyo "is a source to source Modula-2 Translator for the classic Modula-2 dialects described in the 2nd, 3rd and 4th editions of Niklaus Wirth's book 'Programming in Modula-2' (PIM) published by Springer Verlag and is intended as a replacement for the venerable MOCKA compiler. Due to a backend generated by an undocumented proprietary backend generator, MOCKA will forever be limited to the Intel x86 32-bit architecture; therefore, a replacement that is platform independent and 100% open source is desirable.
MOTTO will translate source files written in the classic dialects, including language extensions of the MOCKA compiler, to semantically equivalent source files in C99 and Modula-2 Revision 2010 (M2R10). ISO Modula-2 will not be supported". There is a Wiki, a Telegram group for discussion and the announcement in comp.lang.modula2. The main developer, Benjamin Kowarsch is looking for people interested in the project.

Announcements following the release of GCC 13 including the GNU Modula-2 frontend are available at Phoronix and InfoWorld.

"The GCC developers are pleased to announce the release of GCC 13.1". So GNU Modula-2 is part of the compiler collection and therefore available for everyone, on all computers and systems in reach of GCC. Congratulations to Gaius Mulley who made this possible through years of development work. Thanks also to all who contributed. Great!

The document reporting relevant changes to GCC 13 now has the facts: "Support for the language Modula-2 has been added. This includes support for the ISO/IEC 10514-1, PIM2, PIM3, PIM4 dialects together with a complete set of ISO/IEC 10514-1 and PIM libraries." The documentation of GNU Modula-2 is now also available at gcc.gnu.org.
And there is a video about Modula-2 and CP/M available on Youtube.com which I recently was pointed to: Modula-2 Compilers on CP/M. This is an interesting film related to an article by Lawrence Woodman.

I updated the local Q&A section recently. There is some new information about Modula-2's predecessor Modula, as well as there is a new subsection about Modula-2 in space. Check it out and please tell me if you know more.
I also added Textadept to the list of free editors with Modula-2 syntax highlighting.

An updated Q&D Tools package (edition 2023) is available from the download area. The readme file contains extensive information about the contents of the package but also (philosophical/practical - where is the difference?) thoughts about our world, the development of programming languages and the fact that some things aren't going in the right direction.
Philippe Guiochon was kind enough to produce a separate package full of binaries for Microsoft Windows. Thanks a lot!

Brian Robert Callahan published a blog post entitled GCC now includes Modula-2 and Rust. Do they work on OpenBSD?. "GNU Modula-2 just works on OpenBSD and that's awesome!" Mr. Callahan is kind enough to provide a pre-built package of GCC for OpenBSD including the gm2 Modula-2 frontend on GitHub. Nice! Let me quote most of the conclusion of the blog post linked to above: "I am very excited to see Modula-2 and Rust added to GCC. The fact that they are both ready to go on OpenBSD is a positive reminder of the importance of portability across platforms. I am excited to see the new life breathed into Modula-2 and the continued success of Rust, now that both languages have another open source implementation available to all. I am also excited to see more usage of both languages on the BSDs." Well said - nothing to add.

[UPDATED] GNU Modula-2 is now in gcc-13 master which means gm2 will be released with GNU GCC 13 next year. This is great news again - Modula-2 will be available on multiple architectures and diverse environments.
An article entitled GCC 13 to support Modula-2: Follow-up to Pascal lives on in FOSS form was accordingly published by The Register. The integration of the Modula-2 frontend was also mentioned at Phoronix.com: Modula-2 Language Frontend Merged Into GCC 13.

Jos Dreesen kindly answered a request in comp.lang.modula2 and put up images of the Modula-2-XMS system for the PDP-11 computer running the RT-11 operating system. Thanks a lot for saving this compiler developed by a team led by Niklaus Wirth himself back from the early days of Modula-2. Some information about the compiler and people involved is available.

For some it may be a sidenote, for me it is a big step. GNU Modula-2 is now listed as a working frontend for the GNU Compiler Collection. Not to be misunderstood, the frontend is working for a long time now, but it wasn't listed there until now in this symbolically important place.

Gaius Mulley uploaded a video demonstrating changes to Modula-2 language support within GDB. Other news about re-implementing the linking mechanism of GNU Modula-2 were posted to the compilers mailing list.
While clicking my way through Youtube, I found this video. It shows Borland Modula-2 running on an Amstrad CPC6128 under CP/M.

An updated Q&D Tools package (edition 2022) is available from the download area. The readme file contains extensive information about the contents of the package but also (philosophical/practical - where is the difference?) thoughts about our world, the development of programming languages and the fact that some things aren't going in the right direction...

Guido Hoss announced a new Modula-2 M-Code Interpreter in comp.lang.modula2: "Inspired by Jos Dreesen's Lilith emulator and following his recent discovery of the ETHZ M2 single pass compiler sources, I decided to build my own take of a runtime environment for the compiler and the M-code object files it generates.
Instead of emulating the Lilith machine on a microcode level, my design interprets the M-code opcodes directly. Also, several core functions of Lilith's original Medos-2 operating system are carried out by the interpreter itself, which allows the design to become less dependent on the original Lilith machine architecture and also improves performance. The main areas concerned are object file loading and staging, memory management and OS-level file and device management."

The Modula-2 world is full of interesting news which I didn't manage to post earlier. So now there is a list of things I want you to know, but where should I start? Alphabetically?
ADW Modula-2 was updated in january. The package is as usual available from Modula-2.org. "Compiler 1.6.879. Contains some error recovery. Also contains a new procedure ExStorage.EnableLFH. This procedure enables low fragment heap algorithms for the main process heap. What it is you may see in Microsoft docs."
Soon GNU Modula-2 will hopefully be part of the GCC compiler collection. Gaius Mulley regularly informs about improvements and innovations related to the frontend. Recently there was a summary of latest git commits available from the compilers mailing list archive.
Yuri, a kind visitor of this page (yes, it is still a page, nothing more) sent me a package of files for use with Notepad++ which is now available from the download area. "This archive contains a set of Modula-2 additions for Notepad++ v.7.9.1+" - please read the readme for instructions. Yuri especially informed me, that the files that have been available from here for a few years are no longer working with recent versions of Notepad++. Thank you.

Source code for the Lilith's single pass Modula-2 compiler has been recovered. Jos Dreesen informes: "I managed to extract the sourcecode for the Lilith's single pass Modula-2 compiler from the harddisk of the Lilith on display in the Museum of Kommunikation in Berne / Switzerland. This singlepass compiler was used as the basis for many followups : the IBM RT port, Macintosh port and and..." Great work! Thank you. More information and a link to download the sources are available via the important Modula-2 pages at CFB Software.

ADW Modula-2 was updated in march. The package is available from Modula-2.org.
The sources of ORCA Modula-2, a compiler for the Apple IIGS are now available from GitHub. Thank you!

Brian Robert Callahan invested some time and got the GNU Modula-2 compiler working on OpenBSD.

Chris Burrows kindly made available Release 1.05b of PMI's Repertoire Modula-2 components. Repertoire is a toolkit developed by PMI in Portland, Oregon in the 1980's for use with Logitech, JPI, ITC, FTL and FST Modula-2 compilers running on MS-DOS.

Turbo Modula-2 Reloaded is an amazing project starting with an unusual interest for the Turbo Modula-2 compiler: "This is a Modula-2 system (operating system + compiler + editor) for tiny microcomputers with 64 KB ram : it has a 16-bit address space.
Despite being issued from a reverse-engineering of Borland Turbo Modula-2 for CP/M, it has been re-engineered to be run on any platform, provided that the bytecode interpreter is ported to that platform. So, the system runs in a virtual machine running MCode, and this virtual machine is available on several real hardware: the main target currently is an 8-bit AVR with external ram memory (ATmega162, see V-M8 microcomputer), but the system can also be run on nearly every modern platform (eg. Linux) thanks to a virtual machine written in standard C.
The Modula-2 system gets rid of its CP/M roots thanks to the introduction of a FAT32 filesystem, support of UTF-8 encoding and extended ANSI/Xterm terminal. As such, it becomes a pedagogical human-size system that people can understand in depth."
While I really like Turbo Modula-2 (which I never had a chance to use when it came out) I am still a bit surprised this compiler gets some attention repeatedly. Nice.

Torfinn Ingolfsen published a number of issues of the MODUS Quarterly (Modula-2 News for MODUS, the Modula-2 Users Association). Thank you so much! These are very important documents for people interested in the history of Modula-2.

What is the story behind these two GitHub repositories? FlandersPiler and HussPiler both promise to translate Modula-2 code to MASM code (Microsoft assembler). While I like the idea of people just doing something that is possible I also wonder if the projects are related. Both are developed on Windows operating systems which means I cannot test functionality etc. Just have a look for yourself -

Gaius Mulley posted a number of interesting messages related to the development of GNU Modula-2 over the past few weeks: There is a new branch in the Savannah repro to track maintenance of gcc-10.0.2. GM2 is on the road to be part of the GCC distribution for some time now. Exciting!
A Raspbian package of GNU Modula-2 is also available now.
A lot of other changes including improvements to error messages and the website of the compiler were reported to the mailing list and so are now part of the archive of the GNU Modula-2 mailing list.

An updated Q&D Tools package is available from the download area. The readme file contains extensive information about the contents of the package but also (philosophical/practical - where is the difference?) thoughts about our world, the development of programming languages and the fact that people seem to struggle as they always did.

Benjamin Kowarsch informed via comp.lang.modula2 that he uploaded some files for Modula-2 Syntax highlighting in LaTeX to GitHub: "I have (...) made three language definitions for the Listings package, one each covering PIM, ISO and R10, and uploaded them to Github in my repo for syntax highlighting stuff." There is a wiki page with instructions how to use the files and an example.

During the past weeks I corrected a lot of links, added some new and deleted a number of dead ones. At last, a lot of homepages that loose their home are saved at Archive.org and are not lost.
Last but not least: Thank you for your responses to my last entry!

Recently I stumbled upon a Modula-2 compiler I have never heard of before. It is/was the Rochester Butterfly Modula-2 compiler. Immediatly I got interested and found information about the BBN Butterfly, a massively parallel computer built by Bolt, Beranek and Newman in the 1980s. Next I learned from the archives of comp.lang.modula2 the Rochester compiler was a port of DEC Modula-2 (also called WRL Modula-2, Mike Powell's Modula-2 compiler - originally released in 1984).
Searching for details on this port I found references to another compiler I didn't know: "Hamburg Modula-2" and a posting by Andreas F. Borchert describing some links in Modula-2 history.
Now why am I telling you about my shortcomings in Modula-2 history? I would like to collect information about derived, forked and ported (then renamed etc) compilers, their origins and their history. I would like to know who looked at what sources to develop a compiler or translator. Maybe it is possible to create a map/timeline of compilers and translators (?). Please drop me notes about relations you know - just like Mr. Borchert did in comp.lang.modula2. Thank you!

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.

Want to go back even further? Visit the news archive to view all available news items.

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