|
|
• Het Algol 68 Genie project
• Downloads
• Voorgecompileerde versies
• Eerdere versies
• Opmerkingen, vragen of bugrapporten
• Projecten die gebruikmaken van Algol 68 Genie code
• Verwijzingen naar het Algol 68 Genie project
• Aanvullende bronnen
De ontwikkeling van Algol speelde een belangrijke rol in de vestiging van informatica als academische discipline. Algol 68 werd ontworpen door de International Federation for Information Processing Working Group 2.1 voor Algorithmic Languages and Calculi. Het Mathematisch Centrum Amsterdam (tegenwoordig CWI, Centrum Wiskunde & Informatica) was een toonaangevend instituut in dit proces, zoals het later was in de ontwikkeling van Python.
Het Algol 68 Genie project conserveert Algol 68 vanuit educatief en wetenschappelijk-historisch oogpunt, door een recente implementatie beschikbaar te stellen die volledig opnieuw is geschreven, samen met uitgebreide documentatie voor zowel de taal als deze nieuwe implementatie. Met het hier beschikbare materiaal kunnen geïnteresseerden in de geschiedenis van de informatica Algol 68 en de unieke contextafhankelijke Van Wijngaarden grammatica bestuderen om de invloed ervan te begrijpen, maar ook de taal daadwerkelijk gebruiken voor middelgrote programmeertaken.
Algol 68 Genie, ook wel a68g genoemd, behoort tot de meest complete implementaties van de taal. Het is een interpreter zoals Python, met veel runtime-controles en een debugger in de stijl van GDB. De vele runtime-controles vergemakkelijken programmaontwikkeling door te wijzen op niet-geïnitialiseerde objecten, indices of waarden buiten hun bereik, zwevende verwijzingen en nog veel meer.
Algol 68 Genie is functioneel compleet en recente releases betreffen voornamelijk onderhoud en toevoegingen aan de runtimebibliotheek. De interpreter implementeert één uitbreiding op de taal, namelijk het voorstel voor gedeeltelijke parametrisatie van Charles Lindsey, gepubliceerd in 1976, dat de imperatieve taal Algol 68 een functionele subtaal geeft. Merk op dat de verantwoordelijkheid voor Algol 68 nog steeds bij IFIP Working Group 2.1 ligt en dat het niet de bedoeling van dit project is om de taal te moderniseren. Het project streeft ernaar de oorspronkelijke taal te behouden voor studie en referentie.
De documentatie bestaat uit gedetailleerde installatie-instructies, een uitgebreide handleiding voor programmeren in Algol 68 en het Revised Report on Algol 68.
Op platforms zoals Linux of FreeBSD kan volledig gedebugde Algol 68-code optioneel gedeeltelijk worden gecompileerd door a68g. De resulterende objectcode wordt vervolgens dynamisch gelinkt tijdens de uitvoering door de interpreter. Merk op dat compilatie vaak niet nodig is, bijvoorbeeld voor kleine tot middelgrote programma's die typisch zijn voor programmeeropgaven.
De ontwikkeling van Algol 68 Genie begon rond 1990. Een alpha-versie werd in 2001 uitgebracht en in 2002 volgden bèta-versies. In 2003 werd revisie 1.0 uitgebracht. De ontwikkeling van Algol 68 Genie begon rond 1990. Revisie 2.0 werd uitgebracht in 2010, en Revisie 3.0 werd uitgebracht in 2021. In de loop der jaren hebben veel mensen bijgedragen aan het project, die worden genoemd in het boek Learning Algol 68 Genie. Het Algol 68 Genie project zou niet zijn geworden wat het nu is, zonder hun bijdragen.
Algol 68 Genie versie 3 is ontwikkeld op Debian GNU/Linux en is getest op FreeBSD en Microsoft Windows 11. De onderstaande vooraf gecompileerde binaire versie voor Windows 11 is gelinkt aan de GNU Scientific Library, GNU plotutils en R mathlib, en moet worden uitgevoerd vanuit een command-line interface zoals powershell.
Algol 68 Genie is open-source software en wordt gedistribueerd onder de GNU General Public License.
|
Een WIN64 executable voor Windows 11 kan via bovenstaande sectie worden gedownload. Andere voorgecompileerde Algol 68 Genie-binaries voor de belangrijkste distributies zijn hier te vinden:
| 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 |
Geselecteerde eerdere versies zijn bijvoorbeeld te vinden op github of SourceForge.
Stuur opmerkingen, vragen of bugrapporten alstublieft naar algol68g@algol68genie.nl; uw feedback wordt zeer op prijs gesteld.
In 2025 kondigde José Marchesi een project om ga68 te ontwikkelen, een Algol 68 front-end voor GCC, de GNU Compiler Collection. De parser van ga68 is afgeleid van de handmatig gecodeerde Algol 68 Genie-parser voor Algol 68's Van Wijngaarden grammatica. Het GCC stuurcomité heeft ermee ingestemd om ga68 op te nemen in trunk als "experimenteel", en is beschikbaar sinds release 16.1. De GNU Algol 68-werkgroep beheert deze 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 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. Een programmeer-chrestomathie, met meer dan duizend Algol 68 voorbeeldprogramma's.
• Visual Studio Code-extensie voor syntaxmarkering van Algol 68.
• Emacs-hoofdmodus voor syntaxmarkering en contextgevoelige inspringing van Algol 68.
Gepubliceerd in Algol 68.
© 1993-2026 J.M. van der Veer
jmvdveer@algol68genie.nl