Robert Brayton (1933-2025) and the first Lisp compiler

Reading the Summer 2025 issue of Berkeley Engineer magazine, I was sad to note this item:

Robert Brayton died in January at the age of 91. He was a professor emeritus of electrical engineering and computer sciences and a pioneer in logic synthesis and formal verification. His career spanned multiple decades, including 26 years at the IBM Thomas J. Watson Research Center, where he led the Yorktown silicon compiler team and helped create one of the most advanced logic synthesis systems of its time. There, he also co-developed the sparse tableau methodology, which remains a foundational technique in modern circuit simulation. Brayton later joined the faculty at UC Berkeley, where he co-authored numerous influential papers and books and helped develop multilevel logic synthesis, which is widely used in the design and verification of complex logic systems and is a core component of Electronic Design Automation (EDA).

Robert K. Brayton (1933-2025)
Robert K. Brayton (1933-2025)

In addition to these impressive accomplishments, while earning his Ph.D. in Mathematics at M.I.T. Brayton worked in John McCarthy’s Artificial Intelligence project on the design and implementation of Lisp. The 1960 LISP I Programmer’s Manual by McCarthy et al. [1] says: “The compiler was written by Brayton with the assistance of [David] Park.” But by 1978, when he wrote his paper for the first History of Programming Languages Conference, McCarthy asserted that Brayton’s compiler was “unsuccessful”.

Kazimir Majorinc, while researching the early history of Lisp, contacted Brayton by email for his version of the story and presented it in his talk “Who wrote the first Lisp compiler?” [2] Brayton described McCarthy’s HOPL comment as “unfair” and said this slightly edited version of Fred Blair’s 1970 remark [3] is “much more accurate” [Brayton’s edits in brackets]:

The first Lisp compiler was written by Robert Brayton with the assistance of David Park, in SAP for the 704. That compiler was started in [1958] and was [fully] working in [1961] by which time Brayton left MIT. During that interval of time a Lisp compiler written in Lisp was implemented by Klim Maling but that compiler was apparently dropped. [I am not sure it ever worked fully.] The argument advanced was that Brayton’s, being written in assembly language, would obviously be faster. Difficulties in maintenance developed when Brayton left the project. After Brayton and Maling, Timothy Hart and Michael Levin wrote a compiler in Lisp which was distributed with the 704 Lisp 1.5 system.

Herbert Stoy’s bibliography [4] attributes two compiler-related documents to Brayton, and after he donated his Lisp collection [5] to the Computer History Museum in 2010 I was able to scan those documents, neither of which identifies the author or date. They seem to be describing a compiler written in Lisp, so presumably they were written by either Klim Maling or Hart and Levin. [6, 7]

McCarthy was clearly very interested in the compiler. One of his first memos about programming languages was “Proposal for a Compiler,” written in 1957 and sketching ideas for languages like Algol and Lisp (neither of which existed yet) on a foundation not unlike Fortran (just being released). [8] Later (probably 1959) he wrote a memo giving code sequences to be generated for various Lisp constructs. [9] In any case, it seems likely that Brayton’s remarks to Majorinc best capture what really happened.

References

  • [1] J. McCarthy, R. Brayton, D. Edwards, P. Fox, L. Hodes, D. Luckham, K. Maling, D. Park and S. Russell. LISP I Programmer’s Manual. Computation Center and Research Laboratory of Electronics, Massachusetts Institute of Technology, March 1, 1960. www.softwarepreservation.org
  • [2] Kazimir Majorinc. Who wrote the first Lisp compiler? Slides for talk at Hacklab Mama, Zagreb, November 17, 2012. PDF at kazimirmajorinc.com
  • [3] Fred W. Blair. Structure of the Lisp Compiler. IBM Research, Yorktown Heights, circa 1970. www.softwarepreservation.org
  • [4] Herbert Stoyan. Lisp bibliography, 1997. www.softwarepreservation.org
  • [5] Herbert Stoyan collection on LISP programming, Computer History Museum, Lot X5687.2010. 105 linear feet, 160 boxes. Catalog at CHM
  • [6] Anonymous. Compiler. MIT, Cambridge, undated (circa 1959). www.softwarepreservation.org
  • [7] Anonymous. The Compiler in LISP. MIT, Cambridge, undated (circa 1959). www.softwarepreservation.org
  • [8] J. McCarthy. Memo to P. M. Morse: A Proposal for a compiler. Memo CC-56, Computation Center, Massachusetts Institute of Technology, December 13, 1957, 19 pages. www.softwarepreservation.org
  • [9] J. McCarthy. Notes on the Compiler. Memo 7, Artificial Intelligence Project, RLE and MIT Computation Center. Undated, 2 pages. www.softwarepreservation.org

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.