Algol 68 Resources


Table of Contents


ALGOL 68 is a procedural programming language designed in 1968, and revised in 1973. Despite its age, it is an extremely powerful language even by today standards. Some of its main features are:

  • Orthogonality.
  • Separate space for "moids" (modes and indicants) and identifiers, thus allowing identifiers to contain blank characters.
  • Multidimensional arrays.
  • Support for references, instead of pointers.
  • New operators can be defined, with different associativity and priority.
  • Dynamic memory, with automatic garbage collection.
  • Parallel programming, including synchronization using semaphores.


Two implementations can be used for practical purposes:

  • Algol68toc is an old compiler that generates C, that was polished and ported to GNU/Linux by Sian Leitch.
  • Algol68 Genie is a quite complete and actively maintained interpreter written by Marcel van der Veer. It has support to access SQL databases.


Algol 68 introduced a quite peculiar terminology for some language constructions. Some of those constructions are known under different terms nowadays. That makes the reading of Algol 68 documentation a bit confusing sometimes.

What follows is a non-exhaustive list of terms used in the Algol 68 universe.

  • Mode: data type.
  • Moid: Mode or indicant.
  • Stowed: Structured or rowed (no plain values).


  • Here you can find a very good article summarizing some of the most interesting characteristics of the language.

Author: Jose E. Marchesi

Date: 2013-11-20 20:15:15 CET

HTML generated by org-mode 7.4 in emacs 24

Copyright (C) 2010 Jose E. Marchesi. Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.