Comment by leoc

8 hours ago

There's an odd wrinkle in the early history of BASIC. From a 2002 interview with Thomas Kurtz https://exhibits.library.dartmouth.edu/s/AdventuresomeSpirit... (direct link to PDF: https://exhibits.library.dartmouth.edu/files/original/961732... )—the summer in question is 1959:

> Just one little story…I remember…The name Bob Hargraves [Robert F. “Bob” Hargraves, Jr. ʻ61] should come up somewhere in this business because he was the class I think of 1962, but he was a physics major at Dartmouth. He went on to get a Ph.D. in physics. He came back to Dartmouth as associate director of the computer center many years later. At any rate, he was one of those that worked on the LGP-30 that first summer and he devised a simple higher-level language program. By todayʼs standards, it was pretty crude, but it was FORTRAN-like, you know – sort of – in just six weeks.

The HOPL BASIC paper https://dl.acm.org/doi/pdf/10.1145/800025.1198404 has more about this language:

> One student, without any prior background in computing, prepared a simple higher level language and language processor he called DART (Hargraves, 1959). Obviously influenced by FORTRAN, but wishing to avoid scanning general arithmetic expressions, he required parentheses around all binary operators and their operands. Hardly earth-shaking, but one conclusion was inescapable: a good undergraduate student could achieve what at that time was a professional-level accomplishment, namely, the design and writing of a compiler. This observation was not overlooked.

But at the same time Edgar T. Irons https://dl.acm.org/profile/81100268091/ is in town working on ALGOL syntax, and when Kemeny and Kurtz grab the wheel back they steer language development at Dartmouth towards more syntax (Kurtz assigns four undergraduates including Hargraves to implement ALGOL 58, resulting in ALGOL 30) and more lumpen, assembler-like semantics (Kemeny's DOPE https://en.wikipedia.org/wiki/Dartmouth_Oversimplified_Progr... in particular is a pseudo-assembler.) It was definitely DART that got Kurtz interested in implementing ALGOL on the LGP-30 in the first place though—see pp. 1-2 of the ALGOL 30 report ("ALGOL for the LGP-30"): https://people.csail.mit.edu/garland/publications/Reprints/1... : "It should be mentioned that our becoming involved in this project was a direct result of Hargraves’ having devised a complete language system (DART) during the summer of 1959."

But back to the point ... an interpreter (surely) for a high-level programming language relying on explicit parentheses, written in Dartmouth, in the summer of 1959? How much did Hargraves know about at that point about the IBM 704 implementation of LISP, finished by March 1959? To be sure, I doubt that DART was anything much like a full implementation of even LISP 1, but just the idea of doing a simple interpreter for FORTRAN-like nested mathematical expressions by requiring parentheses everywhere seems familiar. (McCarthy himself was still trying to do LISP as a FORTRAN extension as late as mid-1958 https://interlisp.org/history/bibliography/gi8mchkf .)