RPN in Algol 68

Algol 68

The language was created in the late 1960's by an international group of computer scientists, and revised in 1974. Apparently, the purpose was to create ‘a better Algol’. The result, however, turned to be a rather different language compared to Algol 60, with many new features added, and much more universal in use. In most respects Algol 68 is a rather advanced programming language even by the standards of today.

The authors of Algol 68 formulated and consistently applied the principle of orthogonality. From the Revised Report (see below): ‘The number of independent primitive concepts has been minimised in order that the language is easy to describe, to learn, and to implement. On the other hand, these concepts have been applied “orthogonally” in order to maximise the expressive power of the language while trying to avoid deleterious superfluities.

Besides orthogonality, the design of Algol 68 aimed at completeness and clarity of definition, security, and efficiency of execution. The language seemed to be secure enough to attract the attention of defence-related organisations. Efficiency was ensured by static type checking and loop optimization, among others.

Here are some important features of the language. Many of them were introduced precisely by Algol 68.

Despite its many attractive features, Algol 68 never was a widespread language. There are several reasons for that. One of them is that the language had the fame of being exceedingly complex, which was not really true, by any measure. On the other hand, it is true that the language definition was very complex. The defining document used an intricate formal grammar and unusual terminology, and consequently was hard to read. The grammar was so powerful, however, that large part of what in other languages is regarded as ‘semantics’ was subsumed by the syntax rules.

Algol 68 has had a significant influence on the definition of C and other languages of today.

I am curious whether it itself was influenced by CPL – the levels and directions of sophistication of the two languages are remarkably similar.

Links of Relevance

The Revised Report on the Algorithmic Language ALGOL 68: in PDF (scanned) and HTML forms;
+ a flat, better rendered HTML copy – verbatim from this archive

Informal introduction to Algol 68: revised edition: a 1977 book

Programming Algol 68 made easy: a textbook in PDF and HTML forms;
+ a more compact PDF form that I produced myself from the book sources

Algol 68 Genie: an interpreter for Algol 68; new versions regularly released
Learning Algol 68 Genie: an informal introduction to the language, a manual for Algol 68 Genie, and the Revised Report, all in one book

A68toC: an Algol 68 to C translator; includes the sources for Programming Algol 68 made easy

Links to Algol 68 resources