Short for Algorithmic Language, ALGOL refers to a family of imperative, procedural, structured programming languages that were introduced in the late 1950s.
Developed by a committee of computer scientists from the United States and Europe, ALGOL was the standard method for algorithm description used by the Association for Computing Machinery (ACM) for more than thirty years. It was perhaps the most influential of the four high-level languages at the time, the others being COBOL, FORTRAN, and Lisp, influencing the development of B, BCPL, C, Pascal, and PL/I.
Used mostly by research compute scientists, ALGOL's commercial use was impeded by its lack of standard input/output facilities in its description, as well as low interest in the language by the large computer vendors of the time, with the exception of the Burroughs Corporation.
The major implementations of ALGOL were ALGOL 58, ALGOL 60, AND ALGOL 68. Others included Dartmouth ALGOL 30 and S-algol.
ALGOL 58 was originally known as IAL. It introduced the notion of the compound statement but was restricted to flow control only. It gave rise to ALGO, BALGOL, JOVIAL, MAD, NELIAC, SUBALGOL, and ZMMD, but was soon superseded by ALGOL 60.
ALGOL 60 followed from ALGOL 58, and was the first language to implement nested function definitions with lexical scope. It influenced several other programming languages, such as B, BCPL, C, CPL, Pascal, and Simula. Implementations of ALGOL 60 included ALGAMS, ALGEK, Algol, ALGOL W, ALGOL/ZAM, Burroughs Algol, Case ALGOL, Chinese Algol, DASK ALGOL, DG/L, Elliott ALGOL, FP6000 Algol, GIER ALGOL, GOGOL, Kidsgrove Algol, MALGOL, MARST, NASE, NU ALGOL, RegneCentralen ALGOL 60, Simula 67, SMIL ALGOL, USS 90 Algol, VALGOL, Whetstone, and X1 ALGOL 60. Many of these languages are no longer in use, and some enjoyed only a brief lifespan.
ALGOL 68 was a successor to ALGOL 60, offering a wider scope of application and more rigorously defined syntax and semantics. Implementations of ALGOL 68 include ALGOL 68+, ALGOL 68C, ALGOL 68-DR, Algol 68 Genie, ALGOL 68-R, ALGOL 68RS, ALGOL 68-RT, ALGOL 68S, Algol68toC, ALGOL H, ALGOL Y, Berlin ALGOL, EPOS ALGOL, FLACC, Generalized ALGOL, Interactive ALGOL, Leningrad ALGOL 68, M-220 ALGOL 68, Mini ALGOL, MK2 Interactive ALGOL 68, Odra Algol 68, Oklahoma ALGOL 68, OREGANO, and RS Algol. Additionally, ALGOL 68 influenced the development of C, C++, and Python.
As officially defined, ALGOL 60 had no input/output (I/O) facilities, so many of these implementations defined their own in ways that were not compatible with one another. ALGOL 68, however, offered a large library of I/O facilities.
Topics related to ALGOL or any of its implementations, editors, or tools designed to assist in the use of the language are the focus of this category. Any of the implementations of the language are also appropriate for this category, as are user groups, forums, tutorials, or guides.
 
 
Recommended Resources
ALGOL W was an implementation of ALGOL 60 that included dynamically allocated records, string handling, complex numbers, and a standard I/O system. Distributed as free software under a GNU General Public License, Awe is a compiler for the ALGOL W programming language. As a complete implementation of the language, Awe should be able to compile code intended for the OS/360 ALGOL compilers with little or no modifications necessary. The source is included.
https://tiddly-pom.com/~glyn/
The Michigan Algorithm Decoder is a program language and compiler, originally designed for the IBM 704, in 1959. Available here is an implementation of the original MAD program language, which was active from 1959 to 1962. It translates MAD code into C, then uses the local C compiler to make an executable binary. Included is both the complete transcription of the original MAD manual and scans of the original The compiler is available as a gzipped source tarball.
http://www.catb.org/~esr/mad/
As part of the GNU Project, MARST is an Algol to C translator that automatically translated programs written on the algorithmic language Algol 60 to the C programming language. The package includes MARST, which is the translator, as well as ALGLIB, a library containing precompiled standard Algol 60 procedures and other necessary library routines, and MACVT, a converter that converts existing Algol 60 programs from some other representations to MARST representation.
https://www.gnu.org/software/marst/
mass:werk - ALGOL 60 References
The Revised and Modified Reports on the Algorithmic Language Algol 60 are presented, with the Algol 60 Versions of Syntax, Algol 60 sample implementations and examples, and the syntax of Simula 67 are presented. A timeline of the development of ALGOL 60 is featured, beginning with the preliminary report on the language in 1958, going through the publication of the Modified Report in 1976. The relations of Simula 67 and ALGOL 60 are illustrated, and several reference publications are included.
https://www.masswerk.at/algol60/
Software Preservation Group: History of ALGOL
A project of the Computer History Museum, the Software Preservation Group was formed in 2003 to assist the museum in achieving its mission with respect to the software. This section of its site presents primary and secondary sources of information, such as the specifications, source code, manuals, and papers regarding the history of ALGOL, ALGOL, 58, ALGOL 60, and ALGOL 68, as well as other dialects and implementations of the programming language.
http://www.softwarepreservation.org/projects/ALGOL
SourceForge: Algol 68 Implementations
Open-source implementations of ALGOL 68 available here include Algol68G and Algol68toC. The Algol68G package is a hybrid compiler and interpreter that supports arbitrary arithmetic, partial parametrisation, complex numbers, POSIX threads, GNU plotutils, GNU scientific library, TCP ockets, and PostgreSQL, while the Algol68toC package emits C code from Algol 68. Full packages and updates, as well as source, are available under the GNU General Public License.
https://sourceforge.net/projects/algol68/