|
|
• The Algol 68 Genie project
• Downloads
• Precompiled binaries
• Previous versions
• 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 implements partial parametrization, and arbitrary precision arithmetic for integer, real and complex numbers.
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 that 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.
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. Over the years, many people have contributed to the project, who are acknowledged in the book Learning Algol 68 Genie. The Algol 68 Genie project would not have become what it is today, without their contributions.
|
A WIN64 executable for Windows 11 can be downloaded from above section. Other precompiled Algol 68 Genie binaries for major distributions can be found here.
Selected previous versions can be found in this repository. Other repositories can for example be found on github or SourceForge.
The development of Algol 68 Genie started around 1990. Alpha and beta releases were posted from 2001-2002. Version 1 revisions were released from 2002-2009, version 2 revisions were released from 2010-2018, and version 3 revisions from 2022 onward.
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 ga68 in trunk designated as "experimental", and it was incorporated in release 16.1. The GNU Algol 68 working group maintains this website.
• 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 Filosofía [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.
The following are Algol 68 related posts on this site.
|
||
|
We implement a Partial Least Squares Regression algorithm in a pre-Python language … |
|
||
|
Recently, ALGOL 68C Release 1.3039 was made public for download … |
|
||
|
I have posted Algol 68 Genie Version 2.0.0 and its documentation … |
|
||
|
The Revised Report has been added to the book Learning Algol 68 Genie … |
|
||
|
This is the Revised Report in HTML, for distribution with Algol 68 Genie … |
|
||
|
The original text of the Revised Report in its unique but undocumented format … |
|
||
|
Algol 68 Genie (Algol68G) is a fairly fully featured Algol 68 implementation … |
|
||
|
Overview of Algol 68 Genie packages in various distributions … |