|
|
• The Algol 68 Genie project
• Downloads
• Comments, questions or bug reports
• Projects using Algol 68 Genie code
• References to the Algol 68 Genie project
• Further resources
The development of Algol played an important role in establishing computer science as an academic discipline. Algol 68 was designed by the International Federation for Information Processing Working Group 2.1 on Algorithmic Languages and Calculi. The Mathematisch Centrum Amsterdam (nowadays CWI, Centrum Wiskunde & Informatica) was a leading institute in this process, as it was in later years in the development of Python.
The Algol 68 Genie project preserves Algol 68 out of educational as well as scientific-historical interest, by making available a recent implementation written from scratch, together with extensive documentation for both the language and this new implementation. With the material available here, those interested in the history of computer science may study Algol 68 and its unique context-dependent two-level grammar to understand the influence it had, but also actually use the language for medium-sized programming tasks.
Algol 68 Genie or a68g, ranks among the most complete implementations of the language. It is an interpreter like Python, offering many runtime-checks and a GDB-style debugger. The runtime-checks facilitate program development, pointing out uninitialised objects, out-of-range subscripts or values, dangling references, and much more.
Algol 68 Genie is essentially feature-complete and recent releases mainly concern maintenance and additions to the runtime library. The interpreter implements one extension to the language – Charles Lindsey’s partial parametrization proposal published in 1976, that gives the imperative language Algol 68 a functional sub-language. Note that responsibility for Algol 68 still lies with IFIP Working Group 2.1, and it is not the intention of this project to modernise the language. The project strives to preserve the original language for future reference.
The documentation consists of detailed installation instructions, a comprehensive guide to programming in Algol 68, and the Revised Report on Algol 68.
On platforms as Linux or FreeBSD, fully-debugged Algol 68 code can optionally be partially precompiled by a68g. The resulting object code is then dynamically linked at runtime by the interpreter. Note that compilation is often unnecessary, for instance in case of small to medium sized programs typical for programming exercises.
The development of Algol 68 Genie started around 1990. In 2002, revision 1.0 was posted. Revision 2.0 was released in 2010, and revision 3.0 was released in 2021.
Algol 68 Genie version 3 is developed on Debian GNU/Linux and is tested on FreeBSD and Microsoft Windows 11. The prebuilt binary for Windows 11 below is linked against the GNU Scientific Library, GNU plotutils and R mathlib, and should be run from a command line interpreter such as powershell.
Algol 68 Genie is free software distributed under the GNU General Public License.
|
Precompiled Algol 68 Genie binaries for major distributions can be found here:
| Debian (stable) | Linux |
| Ubuntu (universe) | Linux |
| Fedora (packages) | Linux |
| MacPorts | macOS (Apple Silicon and Intel) |
| Homebrew | macOS (Apple Silicon and Intel) |
| FreeBSD | BSD |
| OpenBSD (ports) | BSD |
| NetBSD | BSD |
Selected previous versions can for example be found on github or SourceForge.
Please send comments, questions or bug reports to algol68g@algol68genie.nl; your feedback will be appreciated.
In 2025, José Marchesi announced a project to develop ga68, an Algol 68 front-end for GCC, the GNU Compiler Collection. The parser of ga68 is derived from the hand-coded Algol 68 Genie parser for Algol 68's W-grammar. The GCC Steering Committee has agreed to include this front-end in trunk designated as "experimental". It will be part from GCC 16 onward (expected in 2026).
• Interview with Marcel van der Veer, Chris Hermansen, both.org [2025].
• ga68: the GNU Algol 68 compiler, José Marchesi, presentation at GNU Tools Cauldron [2025].
• Thinking about Algol 68, Chris Hermansen, both.org [2025].
• A Small Algol 68 Project, Part 1, Part 2, Part 3, Chris Hermansen, both.org [2025].
• An Algol 68 Pretty Printer, Chris Hermansen, both.org [2025].
• The latest language in the GNU Compiler Collection: Algol-68, Liam Proven, The Register [2025].
• Algol 68 implementations and dialects, Paul McJones, Software Preservation Group, Computer History Museum.
• ALGOL: the father of mainstream languages, Mike Bedford, Linux Format (302) [2023]
• Two-level grammars: Some interesting properties of van Wijngaarden grammars, Luis M. Augusto, Omega - Journal of Formal Languages(1) [2023]
• Strange Code - Esoteric Languages That Make Programming Fun Again, Ronald T. Kneusel, No Starch Press, San Fransisco [2022]
• Learn a new old language by programming a game in Algol 68
Chris Hermansen, opensource.com [2020]
• Exploring Algol 68 in the 21st century
Chris Hermansen, opensource.com [2020]
• Algol revisited
Paul Mallison, Crystallography News, British Crystallographic Association [2020]
• Topics in Programming Languages, a Philosophical Analysis through the case of Prolog
, Luís Homem, Universidad de Salamanca, Facultad de Filosofia [2018]
• Algol 68 – A Retrospective
, Daniel James, accu.org [2018]
• Localización e internacionalización de software: puntos de encuentro entre el localizador y el programador, Luis Alberto García Nevares, Universidad de Salamanca, Facultad de Traducción y Documentación [2016]
• Minutes of IFIP WG2.1 60th meeting [2005]
• Rosetta Code. A programming chrestomathy site, that has over a thousand example Algol 68 programs.
• Visual Studio Code extension for Algol 68 syntax highlighting.
• Emacs major mode for Algol 68 syntax highlighting and context-sensitive indentation.
|
||
|
We implement a Partial Least Squares Regression algorithm in a pre-Python language … |
|
||
|
I have posted Algol 68 Genie Version 2.0.0 and its documentation … |
|
||
|
I wrote a simple compiler that translates most Fortran IV/66/77 source code … |
|
||
|
Recently, Algol68C Release 1.3039 was made public for download … |