ABSTRACT
ALGOL 68 is a language with a lot of “history”. The reader will hear of discord, resignations, unreadable documents, a minority report, and all manner of politicking. But although ALGOL 68 was produced by a committee (and an unruly one at that), the language itself is no camel. Indeed, the rigorous application of the principle of “orthogonality” makes it one of the cleanest languages around, as I hope to show. Moreover, when the language came to be revised, the atmosphere was quite different enabling a much more robust and readable defining document to be produced in a spirit of true cooperation. There are some lessons here for future language design efforts, but I am not optimistic that they have been learned.
- AB2811.News item - Tenth anniversary colloquium, Ziirich, May 1968, ALGOL Bulletin AB28.1.1, Jul. 1968.]]Google Scholar
- AB3111.News item- Minority report, AlgOL Bulletin AB31.1.1, Mar. 1970.]]Google Scholar
- Baecker 1968.H. D. Baecker, ASERC - a code for ALGOL 68 basic tokens, ALGOL Bulletin AB28.3.5, Jul. 1968.]] Google ScholarDigital Library
- Boom 1972.H. J. Boom, IFIP WG2.1 Working Paper 217 (Vienna 4), Sep. 1972.]]Google Scholar
- Branquart 1976.E Branquart, J.-P. Cardinael, J. Lewi, J.-E Delescaille and M. Vanbegin, An optimized translation process and its application to ALGOL 68, LNCS 38, Springer-Verlag, 1976.]] Google ScholarDigital Library
- Chastellier 1969.G. de Chastetlier and A. Colmerauer, W-Grammar, Proc. 24th National Conference, ACM Publication P-69, 1969.]] Google ScholarDigital Library
- Colmerauer 1993.A. Colmerauer and P. Roussel, The birth of Prolog, in these Proceedings.]] Google ScholarDigital Library
- Dahl 1966.O-J Dahl, A plea for multiprogramming, ALGOL Bulletin AB24.3.5, Sep. 1966.]] Google ScholarDigital Library
- Dahl 1968.O-J Dahl, B. Myhrhaug and K. Nygaard, The Simula 67 Common Base Language, Norwegian Computing Centre, Oslo, 1968.]] Google ScholarDigital Library
- De Morgan 1976.R. M. De Morgan, I. D. Hill and B. A. Wichman, A supplement to the ALGOL 60 revised report, Comp. Jour. 19:3 pp 276-288, August 1976; also SIGPLAN Notices 12:1 pp 52-66, January 1977; Modified report on the algorithmic language ALGOL 60, Comp. Jour. 19:4 pp 364-379, Nov. 1976 (being {Naur et al 1962} as modified by the Supplement); R. M. De Morgan, I. D. Hill and B. A. Wichman, Modified ALGOL 60 and the step-until element, Comp. Jour. 21:3 p 282, Aug. 1978 (containing essential errata to all the above documents).]]Google Scholar
- Dijkstra 1968a.E. W. Dijkstra, Cooperating sequential processes, In Programming Languages, E Genuys (Ed), Academic Press, 1968.]]Google Scholar
- Dijkstra 1968b.E. W. Dijkstra, Goto considered harmful, letter to the Editor, Comm. ACM 11:3, Mar. 1968.]] Google ScholarDigital Library
- Duncan 1964.F. G. Duncan and A. van Wijngaarden, Cleaning up ALGOL 60, ALGOL Bulletin AB16.3.3, May 1964.]] Google ScholarDigital Library
- Garwick 1965.J. V. Garwick, The question of I/O procedures, ALGOL Bulletin AB 19.3.8, Jan. 1965.]] Google ScholarDigital Library
- GOST 27974/9-88.Programming language ALGOL 68 and ALGOL 68 extended, GOST 27974-88 and GOST 27975-88, USSR State Committee for Standards, Moscow, 1989.]]Google Scholar
- Grune 1979.D. Grune, The Revised MC ALGOL 68 test set, IW 122/79, Mathematisch Centrum, Amsterdam, 1979.]]Google Scholar
- Hansen 1977.Wilfred J. Hansen and Hendrik Boom, The report on the standard hardware representation for ALGOL 68, SIGPLAN Notices 12:5, May 1977; also Acta Informatica 9: pp 105-119, 1978.]]Google Scholar
- Hibbard 1977.P. G. Hibbard, A sublanguage of ALGOL 68, SIGPLAN Notices 12:5, May 1977.]]Google Scholar
- Hoare 1964.C. A. R. Hoare, Case expressions, ALGOL Bulletin AB18.3.7, Oct. 1964.]] Google ScholarDigital Library
- Hoare 1965a.C. A. R. Hoare, Cleaning up the for statement, ALGOL Bulletin AB21.3.4, Nov. 1965.]] Google ScholarDigital Library
- Hoare 1965b.C. A. R. Hoare, Record Handling, ALGOL Bulh;tin AB21.3.6, Nov. 1965.]] Google ScholarDigital Library
- Hoare 1966.C. A. R. Hoare, Further thoughts on record handling AB21.3.6, ALGOL Bulletin AB23.3.2, May 1966.]] Google ScholarDigital Library
- Hoare 1968.C. A. R. Hoare, Critique of ALGOL 68, ALGOL Bulletin AB29.3.4, Nov. 1968.]]Google Scholar
- Hoare 1981.C. A. R. Hoare, The emperor's old clothes (the 1980 ACM Turing award lecture), Comm. ACM 24:2 pp 75-83, Feb. 1981.]] Google ScholarDigital Library
- King 1974.E R. King, WG2.1 subcommittee on ALGOL 68 support, ALGOL Bulletin AB37.3.1, Jul. 1974.]] Google ScholarDigital Library
- Knuth et al 1964.D. Knuth (Chairman), L. L. Bumgarner, D. E. Hamilton, P. Z. Ingerrnan, M. P. Lietzke, J. N. Memer and D. T. Ross, A proposal for input-output conventions in ALGOL 60, Comm. ACM 7:5 pp 273-283, May 1964.]] Google ScholarDigital Library
- Koster 1969.C. H. A. Koster, On infinite modes, ALGOL Bulletin AB30.3.3, Feb. 1969.]] Google ScholarDigital Library
- Koster 1971.C. H. A. Koster, Affix-grammars, in ALGOL 68 Implementation, J. E. L. Peck (Ed.), pp 95-109, North Holland 1971 ISBN: 0 7204 2045 8.]]Google Scholar
- Lindsey 1968.C. H. Lindsey, ALGOL 68 with fewer tears, ALGOL Bulletin AB28.3.1, Jul. 1968.]] Google ScholarDigital Library
- Lindsey 1971.C. H. Lindsey and S. G. van der Meulen, Informal Introduction to ALGOL 68, North Holland, 1971, ISBN: 0 7204 2048 2.]] Google ScholarDigital Library
- Lindsey 1972.C. H. Lindsey, ALGOL 68 with fewer tears, Comp. Jour. 15:2, May 1972.]]Google Scholar
- Lindsey 1976.C. H. Lindsey, Specification of partial parametrization proposal, ALGOL Bulletin AB39.3.1, Feb. 1976.]] Google ScholarDigital Library
- Lindsey 1977.C. H. Lindsey and S. G. van der Meulen, Informal Introduction to ALGOL 68 Revised Edition, North Holland, 1977, ISBN: 0 7204 0726 5.]] Google ScholarDigital Library
- Lindsey 1978.C. H. Lindsey and H. J. Boom, A modules and separate compilation facility for ALGOL 68, ALGOL Bulletin AB43.3.2, Dec. 1978; also IW 105/78, Mathematiseh Centrum, Amsterdam, 1978.]] Google ScholarDigital Library
- Löf 1984.P. Marfin-l.,tif, Constructive mathematics and computer programming, in Mathematical logic and programming languages, C. A. R. Hoare and J. C. Shepherdson (Eds), Prenuce-Hall, 1985.]]Google Scholar
- Lucas 1969.P. Lucas and K. Walk, On the formal description of PL/I, in Annual review in automatic programming 6:3 pp 105-182, Pea'gammon 1969.]]Google Scholar
- Mailloux 1968.B. J. Mailloux, On the implementation of ALGOL 68, Mathematisch Centrum, Amsterdam, I968.]]Google Scholar
- McCarthy 1964.J. McCarthy, Definition of new data types in ALGOL X, ALGOL Bulletin AB18.3.12, Oct. 1964.]] Google ScholarDigital Library
- Meertens 1969.L. G. L. T. Meertens, On the generation of ALGOL 68 programs involving infinite modes, AI_~OL Bulletin AB30.3.4, Feb. 1969.]] Google ScholarDigital Library
- Merner 1966.J. M. Merrier, J. V. Garwick, P. Z. lngerman and M. Paul, Report of the ALGOL X I-O subcommittee, IFIP WG2.1 Working Paper 48 (Warsaw 3), July 1966.]]Google Scholar
- Milner 1990.R. Milner, M. Tofte and R. Harper, The definition of standard ML, MIT Press, 1990.]] Google ScholarDigital Library
- MR 76.A. van Wijngaarden, Orthogonal design and description of a formal language, MR 76, Mathematisch Centrum, Amsterdam, Oct. 1965.]]Google Scholar
- W-2.A. van Wijngaarden and B. J. MaiUoux, A draft proposal for the algorithmic language ALGOL X, IFIP WG2.1 Working Paper 47 (Warsaw 2), Oct. 1966.]]Google Scholar
- MR 88.A. van Wijngaarden, B. J. Mailloux and I. E. L. Peck, A draft proposal for the algorithmic language ALGOL 67, MR 88, Mathematisch Centrum, Amsterdam, May 1967.]]Google Scholar
- MR 93.A. van Wijngaarden (Editor), B. J. Mailloux, J. E. L. Peck and C. H. A. Koster, Draft report on the algorithmic language ALGOL 68, MR 93, Mathematisch Centrum, Amsterdam, Jan. 1968.]]Google Scholar
- MR 95.A. van Wijngaarden (Editor), B. J. Mailloux, J. E. L. Peck and C. H. A. Koster, Working document on the algorithmic language ALGOL 68, MR 95, Mathematisch Centrum, Amsterdam, Jul. 1968.]]Google Scholar
- MR 99.A. van Wijngaarden (Editor), B. J. Mailloux, J. E. L. Peck and C. H. A. Koster, Penultimate draft report on the algorithmic language ALGOL 68, MR 99, Mathematisch Centrum, Amsterdam, Oct. 1968.]]Google Scholar
- MR 100.A. van Wijngaarden (Editor), B. J. Mailloux, J. E. L. Peck and C. H. A. Koster, Final draft report on the algorithmic language ALGOL 68, MR 100, Mathematisch Centrum, Amsterdam, Dec. 1968.]]Google Scholar
- MR 101.The first printing of {Van Wijngaarden 1969}.]]Google Scholar
- Naur et al 1960.I. W. Backus, F'. L. Bauer, J. Green, C. Katz, J. McCarthy, P. Naur (Ed.), A. J. Perils, H. Rutishauser, K. Samelson, B. Vauquois, J. H. Wegstein, A. van Wijngaarden and M. Woodger, Report on the algorithmic language ALGOL 60, Numerische Mathematik 2: pp 106-136, 1960; also Comm. ACM 3:5 pp 299-314, May 1960.]] Google ScholarDigital Library
- Naur et al 1962.J. W. Backus, F. L. Bauer, J. Green, C. Katz, J. McCarthy, P. Naur (Ed.), A. J. Perlis, H. Rutishauser, K. Samelson, B. Vauquois, J. H. Wegstein, A. van Wijngaarden and M. Woodger, Revised report on the algorithmic language ALGOL 60, Numerische Mathematik 4: pp 420-453, 1963; also Comm. ACM 6:1 pp 1-17, Jan. 1963; also Comp. Jour., 5:1, pp 349-367, Jan. 1963.]] Google ScholarDigital Library
- Naur 1964.P. Naur, Proposals for a new language, ALGOL Bulletin AB 18.3.9, Oct. 1964.]] Google ScholarDigital Library
- Naur 1966.P. Naur, The fom~ of specifications, ALGOL Bulletin AB22.3.7, Feb. 1966]] Google ScholarDigital Library
- Naur 1968.P. Naur, Successes and failures of the ALGOL effort, ALGOL Bulletin AB28.3.3, Jul. 1968.]] Google ScholarDigital Library
- Naur 1981.P. Naur, The European side of the last phase of the development of ALGOL 60, in History of Programming Languages, Richard L. Wexelblat (Ed), Academic Press, 1981,1SBN 012 745040 8.]] Google ScholarDigital Library
- Pair 1970.C. Pair, Concerning the syntax of ALGOL 68, ALGOL Bulletin AB31.3.2, Mar. 1970.]] Google ScholarDigital Library
- Peck 1971.J. E. L. Peck (Ed.), ALGOL 68 Implementation, North Holland, 1971.]] Google ScholarDigital Library
- R.See {Van Wijngaarden 1969}.]]Google Scholar
- RR.See IVan Wijngaarden 19751.]]Google Scholar
- Ritchie 1993.D. M. Ritchie, The development of the C language, in these Proceedings.]] Google ScholarDigital Library
- Ross 1961.D. T. Ross, A generalized technique for symbol manipulation and numerical calculation, Comm. ACM, 4:3 pp 147-50, Mar. 1961.]] Google ScholarDigital Library
- Ross 1969.D. T. Ross, Concerning a minority report on ALGOL 68, ALGOL Bulletin AB30.2.3, Feb. 1969.]]Google Scholar
- Samelson 1965.K. Samelson, Functionals and functional transformations, ALGOL Bulletin AB20.3.3, Jul, 1965,]] Google ScholarDigital Library
- Seegmüller 1965a.G. Seegmiiller, Some proposals for ALGOL X, ALGOL Bulletin AB21.3.1, Nov. 1965.]] Google ScholarDigital Library
- Seegmüller 1965b.G. Seegmiiller, A proposal for a basis for, a report on a successor to ALGOL 60, Bavarian Acad. Sci., Munich, Oct. 1965.]]Google Scholar
- Sintzoff 1967.M. Sintzoff, Existence of a Van Wijngaarden syntax for every recursively enumerable set, Annales Soc. Sci. Bru~telles, I1, pp 115-118, 1967.]]Google Scholar
- Schuman 1974.S. A. Schuman, Toward modular programming in high-level languages, ALGOL Bulletin AB37.4.1, Jul. 1974.]] Google ScholarDigital Library
- TR74-3.The first printing of IVan Wijngaarden 1975}, published as Technical Report TR74-3, Dept. of Computing Science, University of Alberta, Mar. 1974; subject to errata published in ALGOL Bulletin AB37.5 Ju}. 1974, AB38.5.1 Dec. 1974, and AB39.5.1 Feb. 1976.]]Google Scholar
- Turski 1968.W. M. Turski, Some remarks on a chapter from a document, ALGOL Bulletin AB29.2.4, Nov. 1968.]]Google Scholar
- Turski 1981.W. M. Turski, ALGOL 68 revisited twelve years later or from AAD to ADA, in Algorithmic Languages, J. W. de Bakker and J. C. van Vliet (Eds), North Holland, 1981.]]Google Scholar
- Van der Meulen 1978.S. G. van der Meulen and M. Veldhorst, TORRIX - a programming sy.i'tem f~~r operations on vectors and matrices over arbitrary fields and of variable size Vol. !, Mathematical Centre Tracts 86, Mathematisch Centrum, Amsterdam, 1978.]]Google Scholar
- Van der Poel 1965.W. L. van der Poei, extract from WG2.1 Activity Report, ALGOL Bulletin AB21.1.1.]]Google Scholar
- Van der Poel 1986.W. L. van der Poel, Some notes on the history of ALGOL, in A quarter century oflFIP, H. Zemanek (Ed.), North Holland, 1986.]]Google Scholar
- Van Vliet 1979.J. C. van Vliet, ALGOL 68 transput, Pt 1: Historical review and discussion of the implementation model, Pt 2: An implementation model, Mathematical Centre Tracts 110 and 111, Mathematisch Centrum, 1979.]]Google Scholar
- Van Wijngaarden 1969.A. van Wijngaarden (Ed.), B. J. Mailloux, J. E. L. Peck and C. H. A. Koster, Report on the algorithmic language ALGOL 68, Numerische Mathematik 14: pp 79-218, 1969; also A. P. Ershov and A. Bahrs (transl.), Kybernetica 6: (1969) and 7: (1970), bilingual; also I. O. Kerner (transl.), Bericht fiber die algorithmische sprache ALGOL 68, Akademie-Verlag, Berlin, 1972, bilingual; also J. Buffet, P. Areal and A. Qu6r~ (transl.), D~finition du langage algorithmique ALGOL 68, Hermann, Pads, 1972, ISBN 2 7056 1354 1.]]Google ScholarDigital Library
- Van Wijngaarden 1975.A. van Wijngaarden, B. J. Mailloux, J. E. L. Peck, C. H. A. Koster, M. Sintzoff, C. H. Lindsey, L. G. L. T. Meertens and R. G. Fisker, Revised report on the algorithmic language ALGOL 68, Acta lnformatica 5:1-3 (1975); also Mathematical Centre Tract 50, Mathematisch Centrum, Amsterdam; also SIGPLAN Notices 12:5, May 1977; also I. O. Kemer (transl.), Revidierter bericht iiber die algorithmische sprache ALGOL 68, Akademie-Verlag, Berlin, 1978; also A. A. Bahrs (transl.) and A. P. Ershov (Ed.), Peresmotrenoye So'obszczeniye ob ALGOLE 68, Izdatelstvo "MIR", Moscow, 1979; also Lu Ru Qian (transl.), ll~ll{~ ALGOL 68 ~ffl~, Science Press, Beijing, Aug. 1982.]] Google ScholarDigital Library
- W-2.A. van Wijngaarden and B. J. Mailloux, A draft proposal for the algorithmic language ALGOL X, IFIP WG2.1 Working Paper 47 (Warsaw 2), Oct. 1966.]]Google Scholar
- WG21 1964a.Report on SUBSET ALGOL 60 (IFIP), Numeri~'che Mathematik 6: pp 454-458, 1964; also Comm. ACM 7:10 p 626, Oct. 1964.]] Google ScholarDigital Library
- WG21 1964b.Report on input-output procedures for ALGOL 60, Numerische Mathematik 6: pp 459-462; alsoComm. ACM 7:10p 628, Oct. 1964.]] Google ScholarDigital Library
- WG21 1971a.Report of the subcommittee on data processing and transput, ALGOL Bulletin AB32.3.3, May 1971.]] Google ScholarDigital Library
- WG21 1971b.Report of the subcommittee on maintenance and improvements to ALGOL 68, ALGOL Bulletin AB32.3.4, May 1971.]] Google ScholarDigital Library
- WG21 1971c.Letter concerning ALGOL 68 to the readers of the ALGOL Bulletin, ALGOL Bulletin AB32.2.8, May 1971.]]Google Scholar
- WG21 1972a.WG2.1 formal resolution: "'Revised report on ALGOL 68", ALGOL Bulletin AB33.1.1, Max. 1972.]]Google Scholar
- WG21 1972b.Report of the subcommittee on maintenance of and improvements to ALGOL 68, August 1971, ALGOL Bulletin AB33.3.3, Mar. 1972.]] Google ScholarDigital Library
- WG21 1972c.Report of the subcommittee on data processing and transput, August 197 I, ALGOL Bulletin AB33.3.4, Max. 1972.]] Google ScholarDigital Library
- WG21 1972d.Report on the meeting of working group 2.1 held at Fontainebleau, ALGOL Bulletin AB 34.3.1, Jul. 1972.]]Google Scholar
- WG21 1972e.Report on considered improvements, ALGOL Bulletin AB34.3.2, Jul. 1972.]] Google ScholarDigital Library
- WG21 1972f.Proposals for revision of the transput section of the report, ALGOL Bulletin AB34.3.3, Jul. 1972.]] Google ScholarDigital Library
- WG21 1973a.Further report on improvements to ALGOL 68, ALGOL Bulletin AB35.3.1, Max. 1973.]] Google ScholarDigital Library
- WG21 1973b.Final report on improvements to ALGOL 68, ALGOL Bulletin AB36.3.1, Nov. 1973.]] Google ScholarDigital Library
- WG21 1975.IFIP WG2.1 Working Paper 287 (TUM 10), Munich, Aug. 1975.]]Google Scholar
- WG21 1978.Commentaries on the revised report, ALGOL Bulletin AB43.3.1, Dec. 1978.]] Google ScholarDigital Library
- WG21 1979.Commentaries on the revised report, ALGOL Bulletin AB44.3.1, May 1979.]] Google ScholarDigital Library
- WG21 1988.Survey of viable ALGOL 68 implementations, ALGOL Bulletin AB52.3.1, Aug. 1988.]] Google ScholarDigital Library
- Wirth 1965.N. Wirth, A proposal for a report on a successor of ALGOL 60, MR 75, Mathematisch Centrum, Amsterdam, Oct. 1965.]]Google Scholar
- Wirth 1966a.N. Wirth and H. Weber, EULER: A generalization of ALGOL, and its formal definition: Part II, Comm. ACM 9:2 pp 89-99, Feb. 1966.]] Google ScholarDigital Library
- Wirth 1966b.N. Wirth and C. A. R. Hoare, A contribution to the development of ALGOL, Comm. ACM 9:6 pp 413-431, Jun. 1966.]] Google ScholarDigital Library
- Wirth 1966c.N. Wirth, Additional notes on "A contribution to the development of ALGOL", ALGOL Bulletin AB24.3.3, Sep. 1966.]] Google ScholarDigital Library
- Wirth 1968.ALGOL colloquium - closing word, ALGOL Bulletin AB29.3.2, Nov. 1968.]]Google Scholar
Index Terms
- A history of ALGOL 68
Recommendations
A history of ALGOL 68
ALGOL 68 is a language with a lot of “history”. The reader will hear of discord, resignations, unreadable documents, a minority report, and all manner of politicking. But although ALGOL 68 was produced by a committee (and an unruly one at that), the ...
A history of ALGOL 68
History of programming languages---IIALGOL 68 is a language with a lot of "history." The reader will hear of discord, resignations, unreadable documents, a minority report, and all manner of politicking. But although ALGOL 68 was produced by a committee (and an unruly one at that), the ...
A semantic view of ALGOL 68
This article presents a semantic view of the programming language ALGOL 68 [1]. The presentation emphasizes those elements of the language which form the basis for viewing an ALGOL 68 program as a composite expression, built-up through embedded ...
Comments