Dartmouth ALGOL 30


Dartmouth ALGOL 30 was a 1960s-era implementation, firstly of the ALGOL 58 programming language, and then of ALGOL 60. ALGOL 30 is named partly after the computer it was designed for and ran on, a Librascope General Purpose and then Librascope General Precision desk computer at Dartmouth College.
Since the limited size of the LGP-30 precluded a full implementation of ALGOL 60, certain of its features were omitted; but the implementers did include parameters called by name, using thunks, and integer labels. They dubbed their work ALGOL 30, since it was for the LGP-30. 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 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 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