Marcel van der Veer · Algol 68 Genie
Learning Algol 68 Genie
Informal introduction
Scanned copy of the revised 1980 edition on Paul McJones's Dusty Decks site.
Revised Report
Included in Learning Algol 68 Genie but also available as a HTML version from these pages.
About Marcel
The Algol 68 Genie Project

The development of Algol played an important role in establishing computer science as an academic discipline. The Algol 68 Genie project preserves and promotes Algol 68 out of educational as well as scientific-historical interest, by making available a recent checkout compiler-interpreter written from scratch by Marcel van der Veer, together with extensive documentation for both the language and this new implementation.

Algol 68 is a secure, expression-oriented programming language with which you elegantly code algorithms without having to bother too much about irrelevant technical details and limitations inherent to many other languages. Algol 68 was designed for programmers, not for compiler writers.

Algol 68 Genie is free software distributed under the GNU General Public License ; it is a fast compiler-interpreter which ranks among the most complete implementations of the language. Algol 68 Genie offers for example:

» numerous runtime checks facilitating debugging and improving the reliability of your programs,
» native support for arbitrary precision arithmetic including complex numbers,
» syntactic constructions to support linear algebra,
» a gdb-style debugger and a pretty-printer to beautify source code,
» optional linkage to GNU plotutils, the GNU scientific library or PostgreSQL,
» extensions as UNIX pipes, regular expression matching, and web page content fetching.

Current stable release and prebuilt binaries

The algol68g-2.8 distribution released in October 2013 lets you build Algol 68 Genie on Linux, FreeBSD, Mac OS X, Solaris or Cygwin from source code. Detailed installation instructions are in the book Learning Algol 68 Genie. For interested developers, the Algol 68 Genie Technical Reference is available.

The distribution contains a test set to validate Algol 68 Genie. The test set contains programs from Dick Grune's Revised Mathematisch Centrum Algol 68 Test Set [1979] and synthetic programs from the Rennes Test Set [1975] which were automatically generated from the Algol 68 grammar using a formalism from Bernard Houssais (Université de Rennes). Especially the Rennes Test Set has proven very effective in exposing problems in Algol 68 implementations. The same combination of test sets was used to validate the well known ALGOL68RS compilers.

For Microsoft Windows XP, Vista or Windows 7, an algol68g-2.8 WIN32 executable is available which is linked to GNU plotutils and the GNU scientific library. Unzip it and execute it from the Windows command line interpreter cmd.exe.

Prebuilt binaries have been posted for Linux, Mac OS X , Debian, Solaris, FreeBSD, NetBSD, Fedora, RedHat, Ubuntu, Cygwin and Arch Linux. An important repository is the Algol 68 project on SourceForge .

Other open source Algol 68 implementations

Next to Algol 68 Genie, one can obtain algol68toc which is a port by Sian Mountbatten of those parts of vintage ALGOL68RS that were made available as ctrans with DRA Malvern's ELLA package. A notable unpublished part is formatted transput. Since ALGOL68RS was a one-pass compiler, algol68toc puts restrictions on Algol 68. The components of algol68toc have multiple licenses that should be read carefully: it is open source software, but not all components are fully free.

Copyright © 2013 J.M. van der Veer. Updated October 2013.