Whetstone ALGOL

Part of my motivation for starting on an ALGOL project was that Brian Randell recently obtained permission from the copyright holder to post an online copy of ALGOL 60 Implementation at CHM. This book, which he and Lawford Russell published in 1964, provides a detailed description of the ALGOL 60 compiler (known as Whetstone ALGOL) they developed for the English Electric KDF9 Computer. In January, Brian gave a talk “Reminiscences of Whetstone ALGOL” at a joint meeting of the BCS Advanced Programming Group and the Computer Conservation Society recognizing the 50th anniversary of ALGOL 60; see here for more on Whetstone. In particular, the Whetstone Algol resurrection team notes: “We now have the Walgol Translator re-keyed from a dog-eared listing, in the main, by Brian Wichmann, Graham Toal and Roderick McLeod. David Holdsworth has written an assembler and a rough-and-ready emulator. Bill Findlay is in the process of implementing a properly-enginered emulator.”

Update 2010/9/22: corrected URL for Whetstone at Software Preservation Group website.

Update 2012/7/11: corrected URLs for ALGOL 60 Implementation at Software Preservation Group website and “Reminiscences of Whetstone ALGOL” at ncl.ac.uk.

Update 2020/3/10: Bill Findlay contacted me to say: “You might be interested to know that the emulator mentioned [above] is in good working order. Not only does it run the Whetstone system, it now also runs the Kidsgrove optimising compiler for KDF9 Algol as well. The latter was restored by a team including one of its original authors, David Huxtable.  See:  http://www.findlayw.plus.com/KDF9/.

Also corrected (again) links to ncl.ac.uk.

Update 2024/05/08: Corrected link for Brian Randell and for Whetstone Algol Resurrection.

ALGOL

I recently created an ALGOL section at the Computer History Museum‘s Software Preservation Group web site, covering the language standardization efforts — for ALGOL 58 (also known as the International Algebraic Language), ALGOL 60, and ALGOL 68 — and also covering many implementations, dialects, and offshoots, complete with source code, manuals, and papers for many of these. The history of ALGOL has attracted many writers, and the final section of the web site links to many of their papers.

The ALGOL 58/60 implementations for which I’ve been able to find source code for include:

  • Burroughs 205 (Knuth)
  • Burroughs 220 (Erdwinn et al.)
  • Burroughs B-5500
  • DEC PDP-10 (Habermann et al.)
  • Electrologica X1 (Dijkstra and Zonneveld – Mathematisch Centrum)
  • Electrologica X8 (Kruseman Aretz – Mathematisch Centrum)
  • Electrologica X8 (Bron et al. – Technische Hogeschool Eindhoven)
  • Elliot 803 (Hoare et al.)
  • English Electric Whetstone (Randell and Russell)
  • G.E.C. process control computer (Higman)
  • Regnecentralen GIER (Naur et al.)
  • Stantec Zebra (van der Mey – Netherlands PTT)

The appendices to Maurice Halstead’s book Machine-Independent Programming (Spartan Books, 1962) contain compiler source listings of Neliac (an ALGOL 58 dialect) for the UNIVAC M-460, IBM 704, and CDC 1604.

I also found compiler source code and listings for several versions of ALGOL W.

I’ve just gotten started looking for ALGOL 68 implementations.

I welcome your comments, corrections, and suggestions for the ALGOL web site.