Software Preservation Group of the Computer History Museum

ALGOL 58 implementations and dialects

Previous: Papers on the history of ALGOL - Up: ALGOL - Next: ALGOL 60

ALGO for Bendix G15

Burroughs 205

"Burroughs had this computer called the 205, which was a drum machine that had 4000 words of memory instead of 2000, and they needed a compiler for it. ... I said I’ll write you an ALGOL compiler for $5,000, but I can’t implement all of ALGOL. I think I told them I can’t implement all of ALGOL for this; I am just one guy. Let’s leave out procedures -- subroutines. Well, this is a big hole in the language! Burroughs said, “No, no -- you got to put in procedures.” I said, “Okay, I will put in procedures, but you got to pay me $5,500.” That’s what happened." [Don Knuth, CHM Oral History, 2007, page 9]

Burroughs 220 (BALGOL)

"I’m in my second year at Cal Tech, and I was a consultant to Burroughs. After finishing my compiler for Burroughs, I joined the Product Planning Department. The Product Planning Department was largely composed of people who had written the best software ever done in the world up to that time, which was a Burroughs ALGOL compiler for the 220 computer. That was a great leap forward for software. It was the first software that used list processing and high level data structures in an intelligent way. They took the ideas of Newell and Simon and applied them to compilers. It ran circles around all the other things that we were doing." [Don Knuth, CHM Oral History, 2007, page 9]

IBM 709 (IBM Applied Programming Systems)

"Meanwhile, IBM had adopted a cautious and experimental approach toward IAL. Under the leadership of Robert W. Bemer, the Applied Programming Systems group, at IBM Data Systems Division, started in early 1959 with the development of an experimental IAL compiler for the IBM 709 computer. By the end of the summer, the members of Bemer’s team—Julien Green, Alvin L. Harmon, and William Heising—had completed a test version of the compiler." [Nofre 2021, page 394]

JOVIAL (Systems Development Corporation)

"At Systems Development Corporation, programming systems had to be developed for a large command and control system based on the IBM military computer (ANFSQ32). The resulting Algebraic language with fairly elaborate data description facilities was JOVIAL (Jules Schwartz' own Version of the International Algebraic Language). By now compilers for JOVIAL have been written for the IBM 7090, the Control Data 1604, the Philco 2000, the Burroughs D825, and for several versions of IBM military computers." [Rosen 1964, page 7]

MAD (University of Michigan)

"The University of Michigan developed a compiler for a language called Mad, the Michigan Algorithmic Decoder.26-27 They were quite unhappy at the slow compiling times of Fortran, especially in connection with short problems typical of student use of a computer at a University. Mad was originally programmed for the 704 and has been adapted for the 7090. It too was based on the 1958 version of Algol." [Rosen 1964, page 7]

NELIAC (Naval Electronics Laboratory)

"The Naval Electronics Laboratory at San Diego was getting a new Sperry Rand Computer, the Countess. With a variety of other computers installed and expected they stressed the description of a compiler in its own language to make it easy, among other things, to produce a compiler on one computer using a compiler on another. They also stressed very fast compiling times, at the expense of object code running times, if necessary. The language was called Neliac, a dialect of Algol. Compilers for Neliac are available on at least as great a variety of computers as for JOVIAL." [Rosen 1964, page 7]

ZMMD (Zurich, Munich, Mainz, Darmstadt)

"In the fall of 1955, we [Bauer and Samelson, at Munich University] had already started a joint project on designing a universal language for program exchange; this was stimulated somewhat later by plans that Springer-Verlag, Heidelberg, had about publishing a handbook of algorithms. From the beginning, we intended to build appropriate compilers; this became inevitable when we heard rumors that Piloty’s plans for PERM II had been dropped. Our compiler design was based on our stack principle and on Rutishauser’s experience [at ETH in Zürich] with run time organization. We were soon joined by Hermann Bottenbruch from Alwin Walther’s institute in Darmstadt.

As mentioned above, in 1956 Rutishauser, Samelson, and myself started the design of a compiler with a single language for machines as different as the Munich PERM, Zurich ERMETH, and (later) the Mainz Z 22 ('ZMMD-Project'). Compiler design and programming language design went hand in hand. In the fall of 1957, we had the plans ready which allowed us to approach the ACM. This led to the Zurich Conference in May 1958. Our input (Bauer and others 1958) to this international joint effort was a direct consequence of the cellar principle of state transition, which, originally meant for (arithmetic) formulas, was extended to the whole language and was expressed in the form 'postpone as long as necessary, reduce as soon as possible.' But we aimed not only at having the language restricted so that it could be parsed 'sequentially' by a pushdown technique, which turned out equivalent to requiring a context-free grammar, but also postulated to attach the semantics to the syntax. ...

For ALGOL 58, the ZMMD compilers worked by the end of 1958. Following the ALGOL Conference in Paris in January 1960 that produced ALGOL 60, we had adapted our compilers in Mainz, Zurich, and Munich within a few months. The ALCOR group (Samelson and Bauer 1962), formed after the 1959 Paris Congress, expanded rapidly. The members were given the available ZMMD material on translation methods, and they began their own work on compilers. The undertaking had considerable commercial and educational effect." [Bauer 1990]

Previous: Papers on the history of ALGOL - Up: ALGOL - Next: ALGOL 60