Dartmouth ALGOL 30

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Dartmouth ALGOL 30 was an 1960s-era implementation, firstly of the ALGOL 58 programming language, then of ALGOL 60 for the LGP-30 at Dartmouth College, hence the name.

Since the limited size of the LGP-30 precluded a full implementation of ALGOL 60, certain of its features (arrays called by value, own arrays, strings, variable array bounds, and recursion) were omitted; but the implementors did include parameters called by name, using "thunks" (Ingerman, 1961; Irons and Wally Feurzeig, 1961), and integer labels. They dubbed their work ALGOL 30, since it was for the LGP-30 (Kurtz, 1962a, Feb., 1962b, Mar.). From this project emerged a small group of undergraduate students who were well equipped to perform further work in the development of computer languages. For instance, one student (Steve Garland) discovered that compound statements and blocks could be included in the Samelson and Bauer scanning algorithm. This simple fact was not published until some years later. (The author has been unable to identify the source that he clearly remembers; the closest is Gries, 1968.)

"The ALGOL 30 system suffered one defect that hindered its wide use as a student-oriented language: it was a two-pass system. The intermediate code was similar to relocatable binary, but had to be punched onto paper tape. Compilations could be "batched," but the delays between presenting the source code tape and the final execution were too great to allow widespread student use. It was clear that a "load-and-go" system was needed. Thus was born SCALP, a Self Contained ALgol Processor (Kurtz, 1962c, Oct.)."

References[edit]

  • Thomas Eugene Kurtz, SIGPLAN Notices 14(04), April 1979, including The first ACM SIGPLAN conference on History of programming languages (HOPL), Los Angeles, CA, June 1-3, 1978.