History of ALGOL
Paul McJones, editor - paul@mcjones.org - http://www.mcjones.org/dustydecks/
Software Preservation Group
Computer History Museum
Abstract
The goal of this project is to preserve and present primary and secondary source materials (including specifications, source code, manuals, and papers discussing design and implementation) from the history of ALGOL: ALGOL 58 (International Algebraic Language), ALGOL 60, and ALGOL 68, as well as their major dialects and implementations. Comments, suggestions, and donations of additional materials are greatly appreciated.
Contents
- Acknowledgments
- Timeline
- Other ALGOL resources
- Evolving algorithmic language (standards, revisions, and subsets)
- Papers on the history of ALGOL
- Implementations and dialects
- Applications, libraries, and test suites
Acknowledgments
Thanks to:
- Brian Randell for agreeing to post an online copy of Algol 60 Implementation and obtaining permission from the copyright holder; Al Kossow for providing a scan of the book
- Elizabeth Barraclough for permission to post Newcastle/MTS ALGOL W source code
- Ed Satterthwaite for information on ALGOL W
- Nigel Williams for information on aw2c and the Elliot 503 ALGOL reconstruction project
- Gordon Bell for information on the PDP-10 Algol 60 compiler written by Nico Habermann for DEC
- Al Kossow for scanning the Stanford ALGOL W compiler listing, and for creating bitsavers.org
- Wilhelm Bernhard Kloke for suggesting the NUMAL library (and providing a copy of the Numerical Recipes edition), and for suggesting S-algol (and providing a copy of the source)
- Marcel van der Veer for suggesting Algol 68 Genie
- Neville Dempsey for ongoing help identifying and tracking down ALGOL 68 implementations
- Jan Kok for obtaining permission for, and providing an original copy of, NUMAL
- Mark DiVecchio for scanning his copy of the ALGOL-20 manual
- Ola Nordal for information on NU ALGOL, and for help in obtaining manuals
- Karl Andrew Iversen for donating a NU ALGOL manual
- Graham Reid for suggesting Rogalgol (and providing links about it)
- Charles Lindsey and IFIP for permission to post an online copy of Informal Introduction to Algol 68
- Dave Redell for donating a BC ALGOL manual
- Edward Peck for scans of documents by his father J. E. L. Peck; IFIP for permission to post an online copy of ALGOL 68 Implementation
- Aleksander Schwarzenberg-Czerny for information on ODRA 1204 ALGOL and scanning the manual, and Mrs. Krystyna Jerzykiewicz for permission to post it
- Paul Kimpel for information on the retro-b5500 (including the CUBE library) and retro-205 projects and the Burroughs machines
- Nigel Williams for information on EULER at the retro-b5500 project
- Maarten van Emden for his 1968 Work review document containing Electrologica X8 ALGOL source programs
- Tom Sawyer for a scan of the Programmers Manual for Burroughs 205 Algol 58
- Georges M. Louis for information on ALGOL 68/19 and MBLE ALGOL 68
- Guy Louis for a scan of his ALGOL 68/19 reference manual
- Bruce Ray, Wild Hare Computer Systems, for Data General Extended ALGOL
- David Nofre for his very helpful paper [Nofre 2021]
- Stephen J. Garland for his web site and scanned documents on ALGOL 30 and SCALP
- Ken Rector for his SDS 900 ALGOL 60 software kit
- Graham Toal for Atlas Autocode, Coral, EMAS Algol, and transcriptions of MC X1 and MC X8 Algol
- Michael Riedl for his Algol 60 numeric repository
- Rob Kolstad for G-15 ALGO Technical Manual.
Timeline
Following [Rutishauser 1967] and [Lindsey 1996].
- 1955 October
- Discussions of algorithmic languages and their translation into machine code international symposium on automatic computing at Darmstadt led to establishment of the GAMM Subcommmittee for Programming Languages to design a universal algorithmic language.
- 1957
- The GAMM subcommittee suggested to J. W. Carr III, president of ACM (Association for Computing Machinery), that a joint ACM-GAMM conference be held to design a common algorithmic language.
- 1958 April
- F. L. Bauer presented the GAMM proposal to the ACM group at a meeting in Philadelphia.
- 1958 May 27-June 2
- The GAMM-ACM ALGOL 58 conference was held in Zűrich, producing the ALGOL 58 report.
- 1959
- Proposals for improvements to the ALGOL 58 report were published in Communications of the ACM, Volume 2, and/or the ALGOL Bulletin, Number 7.
- 1959 November
- The GAMM subcommittee held a preliminary meeting in Paris, attended by 50 people from Western Europe, to select 7 delegates for the final ALGOL conference. The ACM subcommittee had a similar meeting in Washington, D.C. to select 7 delegates (Tragically, the American delegate William Turanski was killed in a car accident just before the Paris conference.)
- 1960 January 11-16
- The ALGOL 60 conference was held in Paris, producing the ALGOL 60 report.
- 1962 April 2-3
- A formal ALGOL meeting to resolve inconsistencies was held in Rome, where many of the participants were planning to attend an IFIP meeting. The resulting ALGOL 60 revised report was approved by IFIP, which had assumed responsibility for ALGOL maintenance and development.
- August 1962 - March 1964
- IFIP Working Group 2.1 held meetings in Munich, Delft, and Tutzing, starting with a review of subsets SMALGOL and ALCOR and culminating with the decision for the features to be included in the official IFIP SUBSET ALGOL 60.
- May 1965
- WG 2.1 met in Princeton and invited written descriptions of a successor to ALGOL 60, based on discussions that had taken place since 1963.
- October 1965
- WG 2.1 met in St. Pierre de Chartreuse (near Grenoble) and considered three reports describing "more or less complete languages" [Wirth, October 1965], [Seegműller 1965], and [van Wijngaarden 1965]. Also presented were [Hoare 1965], [Naur 1964], and [Naur 1965].
- April 1966 - December 1968
- At WG 2.1 meetings in Kootwijk (in the Netherlands), Warsaw, Zandvoort (near Amsterdam),Tirrenia (near Pisa), North Berwick (near Edinburgh), and Munich successive iterations of the final report were discussed: [ALGOL X draft proposal, ALGOL 67 draft proposal, ALGOL 68 draft proposal, ALGOL 68 draft report, ALGOL 68 working document, ALGOL 68 penultimate draft report, and ALGOL 68 final draft report]
- 1969
- IFIP approved [ALGOL 68 report]
- 1975
- IFIP approved [ALGOL 68 revised report]
- 1976
- IFIP approved [ALGOL 60 modified report]
- 1977
- IFIP approved [ALGOL 68 sublanguage] and [ALGOL 68 standard hardware representation]
Other ALGOL resources
ALGOL Bulletin
"The ALGOL Bulletin, the European medium for disseminating ALGOL intensive matters, was established at a subsequent European conference in Copenhagen in 1959, and the first of its issues appeared that March. Peter Naur of the Danish Regnecentralen was its first editor." [Perlis, HOPL paper, 1981]
- ALGOL Bulletin. Issue 1 (March 1959) through Issue 52 (August 1988). Peter Naur, editor. Issue 1 (March 1959) through Issue 15 (June 1962) F. G. Duncan, editor. Issue 16 (May 1964) through Issue 33 (March 1972) C. H. Lindsey, editor. Issue 34 (July 1972) through Issue 52 (August 1988). Scanned reproduction by Brian Wichmann.
- Online at Computer History Museum (CHM)
- ACM Digital Library (free web account required for access)
IFIP Working Group 2.1 on Algorithmic Languages and Calculi
IFIP Working Group 2.1 was established in 1962. Its aim is "to explore and evaluate new ideas in the field of programming, possibly leading to the design of new languages." It has held continuing responsibility for ALGOL 60 and ALGOL 68 since its founding, although its current focus is the study of calculation of programs from specifications.
- IFIP Working Group 2.1. Web site with membership information, meeting schedules, etc. http://ifipwg21.org/
- Algol resources. Online at kuleuven.be