A few months after my article “The LISP 2 Project” was published, I learned from Paul Kimpel that the language GTL includes a “non-standard” version of LISP 2. GTL stands for Georgia Tech Language. It is an extension of the Burroughs B 5500 Algol language, and its implementation extends the Burroughs Algol compiler. There is a new data type, SYMBOL, whose value can be an atomic symbol, a number, or a dotted pair. There is a garbage collector, and a way to save and restore memory using the file system. GTL was designed by Martin Alexander at the Georgia Institute of Technology between 1968 and 1969. The source code is available as part of the Burroughs CUBE library, version 13, and the manual is available via bitsavers.org; see here for details.
I first heard about LISP 2 around 1971, from a 1966 conference paper included in the reading for a U.C. Berkeley seminar on advanced programming languages. The goal of LISP 2 was to combine the strengths of numerically-oriented languages such as ALGOL and FORTRAN with the symbolic capabilities of LISP. The paper described the language and its implementation at some length, but by 1971 it was pretty clear that LISP 2 had not caught on; instead, the original LISP 1.5 had spawned a variety of dialects such as BBN-LISP, MACLISP, and Stanford LISP 1.6.
In 2005 I began a project to archive LISP history and kept encountering people who’d been involved with LISP 2, including Paul Abrahams, Jeff Barnett, Lowell Hawkinson, Michael Levin, Clark Weissman, Fred Blair, Warren Teitelman, and Danny Bobrow. By 2010 I had been able to scan LISP 2 documents and source code belonging to Barnett, Herbert Stoyan, and Clark Weissman. In 2012, after writing about Hawkinson and others in an extended blog post “Harold V. McIntosh and his students: Lisp escapes MIT,” I decided to try to tell the story of the LISP 2 project, where so many interesting people’s paths had crossed. My sources included original project documents as well as telephone and email interviews with participants, and several participants were kind enough to provide feedback on multiple drafts. I let the article sit in limbo for five years, but last year after I published another anecdote in the Annals, editor Dave Walden encouraged me to submit this one.
On December 28, 2017, as the article was about to go to press, Lowell Hawkinson died suddenly from an accident.
Lowell Hawkinson passed away at the age of 74 on December 28, 2017 as a result of an accident. Lowell was a pioneer in LISP implementation and artificial intelligence. He co-founded Gensym Corporation in 1986 and served as its CEO through 2006. This obituary gives more details of his life and accomplishments.
I first got in touch with Lowell in 2010 because of my interest in archiving LISP history. We exchanged emails (and had one phone conversation), and over the years I wrote several blog posts and a journal article about work involving him:
- The First International LISP Conference (1963)
- Harold V. McIntosh and his students: Lisp escapes MIT
- The LISP 2 Project
Although my interactions with Lowell were brief, his kindness and modesty were manifest. He will be deeply missed by his family and friends.
Recently I made some long-delayed updates to History of LISP. In the Lisp I/1.5 for IBM 704, 709, 7090 section, I added links to the excellent work by Andru Livisi (here) and Dave Pitts (here) for running LISP on emulators.
In the Other Lisps section I added Lisp 1.6 for IBM 1130 (Boston Latin School), which was the first Lisp of Guy L. Steele Jr., who went on to work on MacLisp, Scheme, NIL, Common Lisp, and Connection Machine Lisp. I also added PDP-11 LISP (Massachusetts Institute of Technology), which was the first Lisp of Richard M. Stallman, who went on to work on MacLisp, Lisp Machine Lisp, and Emacs Lisp.
Harold V. McIntosh died November 30, 2015 in Puebla, Mexico. He was an American mathematician who became interested in what is now known as computer algebra to solve problems in physics, leading to his early adoption of the programming language LISP and to his design of the languages CONVERT (in collaboration with Adolfo Guzmán) and REC. His early education and employment was in the United States, but he spent the last 50+ years in Mexico, and received a Ph.D. in Quantum Chemistry at the University of Uppsala in 1972.
McIntosh was born in Colorado in 1929, the oldest of four sons of Charles Roy and Lillian (Martin) McIntosh. He attended Brighton High School in Brighton, near Denver. In 1949 he received a Bachelor of Science in physics from the Colorado Agricultural and Mechanical College, and in 1952 he received a Master of Science in mathematics from Cornell University. He did further graduate studies at Cornell and Brandeis, but stopped before receiving a Ph.D. to take a job at the Aberdeen Proving Ground. Two years later, he moved to RIAS (Research Institute for Advanced Studies), a division of the Glenn L. Martin Company. Around 1962 he accepted a position in the Physics and Astronomy department and the Quantum Theory Project at the University of Florida. After two years at the University of Florida, McIntosh accepted an offer at CENAC (Centro Nacional de Calculo, Instituto Politecnico Nacional) in Mexico. Over the next years, McIntosh worked in various positions in Mexico at Instituto Politecnico Nacional, Instituto Nacional de Energía Nuclear, and, from 1975 on, Universidad Autónoma de Puebla.
McIntosh was widely regarded for his research, writing and teaching; for details, see Gerardo Cisneros-S.: “La computación en México y la influencia de H. V. McIntosh en su desarrollo” (PDF). He organized several special summer programs in the early 1960s that introduced a number of students to higher mathematics and computer programming (see here for example). He also had a lifelong interest in flexagons, which he shared with his students. A symposium in his honor was held a month before he died.
Harold V. McIntosh: CELLULAR AUTOMATA MISCELLANEA. Web site at cinvestav.mx
1961 Annual report of RIAS. PDF at ubalt.edu
Paul McJones. The First International LISP Conference (1963). Dusty Decks blog, April 23, 2012
Paul McJones. Harold V. McIntosh and his students: Lisp escapes MIT. Dusty Decks blog, July 6, 2012
Paul McJones, editor. History of Lisp : Other Lisp 1.5 implementations : MBLISP. Online at softwarepreservation.org
José Manuel Gómez Soto for notifying me of McIntosh’s death and supplying the link to this obituary; Robert Yates, Lowell Hawkinson, and Adolfo Guzmán Arenas for their contributions to “Harold V. McIntosh and his students: Lisp escapes MIT”.
PIVOT, the program verification system written in BBN-Lisp by L. Peter Deutsch and described in his PhD thesis, “An interactive program verifier” is a recent addition to the Software Preservation Group web site.
Deutsch is a computer scientist who made important contributions to interactive implementations of Lisp and Smalltalk. While he was in high school, he implemented the first interactive Lisp interpreter, running on a DEC PDP-1 computer. While still in high school, he worked with Calvin Mooers on the design of TRAC, and implemented the language on a PDP-1 at BBN. Then Deutsch enrolled at the University of California at Berkeley, where he soon joined Project Genie, one of the earliest timesharing systems. Meanwhile, at BBN, Deutsch’s original PDP-1 Lisp became the “conceptual predecessor” of BBN-Lisp, running first on the PDP-1, then the SDS-940 (running the Project Genie timesharing system), and finally the PDP-10 running BBN’s own TENEX. After several of the BBN-Lisp creators, including Deutsch, moved to Xerox PARC, BBN-Lisp became INTERLISP. By this time, Deutsch had received his bachelor’s degree at Berkeley, and with other Project Genie alumni had co-founded Berkeley Computer Corporation, which built a large timeshared computer (the BCC-500) but then went bankrupt. While working at PARC, Deutsch also attended graduate school at Berkeley, carrying out the research on program verification that produced the PIVOT system.
Deutsch was kind enough to donate his only source listing of PIVOT to the Computer History Museum (Lot number X7485.2015), and to allow scans of the listing and his thesis to be posted on the SPG web site.
I just noticed that August 17 was the 50th anniversary of the LISP 1.5 Programmer’s Manual by John McCarthy, Paul W. Abrahams, Daniel J. Edwards, Timothy P. Hart, and Michael I. Levin. On that day in 1962 it was published as a bound report of the Computation Center and Research Laboratory of Electronics of the Massachusetts Institute of Technology. It was also published by MIT Press — perhaps simultaneously — and is still in print. A second edition was released in 1965; the only difference that I see comparing tables of contents is the addition of Appendix I: LISP for SHARE distribution.
This was of course the first book on LISP. It is a reference manual rather than a textbook, but many people managed to learn LISP from it, and a number of people managed to implement LISP from it. Today ACM’s Digital Library lists 327 citations for it, and Google lists about 23,900 hits. I’m pleased to say that #1 on Google is the authorized PDF at my History of LISP archive at the Computer History Museum.
Through the generosity of several people, the History of LISP archive includes not only the book but also several versions of the underlying source code:
- LISP 1.5 Programmer’s Manual by permission of MIT Press;
- September 1961 snapshot of the source code in PDF and ASCII formats, courtesy of Timothy P. Hart, M.I.T. Museum, Jack Harper, Pascal Bourguignon, Rich Cornwell and Bob Abeles;
- Snapshot of CTSS version of source code, courtesy of Robert R. Fenichel;
- Snapshot of SHARE distribution of source code, courtesy of Dennis Allison and Al Kossow.
If you’re resourceful and you’d like to actually run the system described in this book, you don’t need an IBM 7090 or a time machine; the SIMH simulator package and the files and information here are sufficient; scroll down until you find “Running Lisp 1.5 in the SIMH IBM 7094 emulator.”
In today’s wired world, people will start experimenting with an interesting new programming language shortly after it appears on a hosting service. But things took longer in the early days of Lisp. McCarthy’s famous paper on Lisp was presented at a conference in May 1959 and published in CACM in April 1960, by which time a system with an interpreter and compiler was running on MIT’s IBM 704; the paper notes “A programmer’s manual is being prepared.” Gradually copies of Lisp were requested by other IBM installations (the system was ported to the 709 and then the 7090). Modifications were often required to adapt it to a particular hardware configuration or operating environment and it was several years before Lisp was adapted to other kinds of computers. Without the internet or “social networking”, the propagation of ideas depended even more heavily on people. The physicist Harold V. McIntosh was one of the first to spread Lisp beyond MIT.
If you thought the 1980 LISP Conference was the first Lisp conference, you were wrong. The 1980 conference was organized by Ruth E. Davis and John R. Allen and was held at Stanford University, with sponsorship by Stanford, Santa Clara University, and The LISP Company. It led to the biennial ACM-sponsored Lisp and Functional Programming Conference. But more than 16 years earlier, the First International LISP Conference was held at Universidad Nacional Autónoma de México (UNAM) in Mexico City, from December 30 to January 4, 1964. No proceedings was published for the conference, but I have been able to assemble some information about it.
In July 2010 I wrote about the collection of Lisp and artificial intelligence documents that Herbert Stoyan donated to the Computer History Museum. Today I’m glad to be able to announce that the finding aid is online at CHM and the Online Archive of California. Additionally, more detailed descriptions about the items in the collection has been added to CHM’s online catalog, which can be searched here. (For example, try searching for MACLISP.) I’ve added scanned copies of many items from the collection to the History of LISP web site (which is also hosted by the CHM). I’m open to suggestions for scanning additional items from this collection. Also, if you have historical Lisp items that are not in the Stoyan collection, please consider donating them to CHM.
Update 1/1/2016: Gordon Bell has made an archive of materials from The Computer Museum available at http://tcm.computerhistory.org.
The institution now known as the Computer History Museum began in 1975 as a closet-sized exhibit in a Digital Equipment Corporation building, grew into The Computer Museum located on Boston’s Museum Wharf, and finally metamorphosed into its current form and location. In a fascinating technical report, Gordon Bell describes this long and interesting history, in which he and his wife Dr. Gwen Bell have played such important roles.
It was only recently, Bell notes, that “Software was finally added to list of things collected, such as the history of FORTRAN including original source code.” The FORTRAN collection to which Gordon refers is here; a catalog search of FORTRAN-related items in the museum’s archives is available here.
Bell gives a list of some two dozen “Mona Lisas” in the collection, all hardware artifacts. He concludes this section by saying “Regrettably, I omit that hard to see, hard to describe, essential software from COBOL, FORTRAN, and LISP, various Operating Systems, and on through Visicalc, and the Relational database.” I strongly agree with Bell about the importance of collecting and displaying such historic software. I’m glad to be able to point the previously-mentioned FORTRAN collection, and to similar collections for LISP, ALGOL, and C++. Others have assembled extensive collections on, for example, the Multics and Unix operating systems, PDP-10 systems and applications, and many more. Two of the earliest relational database management systems, Berkeley Ingres and IBM System R, have been preserved but are not yet easily accessible. For the most part, these collections are aimed at a more scholarly audience; I hope they will serve as source materials for future exhibits for a wider audience.
The History of LISP web site launched back in 2005 as a single web page running some 40 pages when printed; it covered many of the best known Lisp implementations. Over the years, the web site approximately doubled in size, leading several people to politely suggest breaking it up into smaller units. I’ve finally taken the time to do that. The organization roughly follows that used by Steele and Gabriel in their 1992 HOPL II talk, and I’m still making minor adjustments. It would be nice if a web site dedicated to historical archives would have stable URLs, but I think the new organization will be appreciated by people mostly interested in one or two specific implementations. I have not changed the URL of any “content” (PDF or archive file).
Thanks again to the many people down through the years who have patiently answered my questions, supplied copies of source code and documents, and allowed me to post copies.
Lisp’s birth and infancy was at MIT, but it began spreading to other places when John McCarthy went to Stanford and other project members graduated and moved on. At about this time, a project began to develop a new language, Lisp 2, that would extend Lisp to include ALGOL-like syntax, type-checking, and numeric, string, and array data types. The project was a joint development of two “think tanks”, Information International, Inc. (III) System Development Corporation (SDC) in Santa Monica, California.
The host computer for the Lisp 2 project was the AN/FSQ-32/V, a one-of-a-kind prototype built by IBM for the Air Force as a potential replacements for the SAGE AN/FSQ-7. Before the Lisp 2 project began, an innovative compiler-only implementation of Lisp 1.5 on the Q-32 was done by Robert Saunders and his colleagues.
Through the kindness of Jeff Barnett, who was one of central contributors at SDC, the History of LISP web site now includes scanned copies of the Lisp 2 source code (with annotations by Jeff) and a number of documents, including the complete TM-3417 series documenting a planned (but not completed) port to the IBM System/360. A few other early memos were previously available online as MIT Project Mac memos. Additional memos will be soon be available via the Stoyan collection.
After the Lisp 2 project was terminated, the Q-32 at SDC was replaced with an IBM System/360. The researchers still wanted to use Lisp, so Jeff Barnett and Bob Long implemented a Lisp 1.5 for the System/360. Again, Jeff loaned a copy of the original manual and also wrote new notes.
Speech understanding was a major research area for many people at SDC, including Jeff. As building blocks for the speech research, he worked on two more Lisp or Lisp-like systems:
- A small Lisp for the Raytheon 704 used for speech capture and low-level processing.
- The Crisp Lisp 2-like system for the IBM System/370.
Jeff has provided modern notes for both, and for Crisp both the original documentation as well as slides from a recent talk he gave.
Finally, another offshoot of the Lisp 2 project is the book LISP 1.5 Primer by Clark Weissman. It began as a tutorial to help SDC researchers learn Lisp, and in 1967 was published as a book by Dickenson Publishing Company, Inc., of Belmont, California. The book has long been out of print and the copyright reverted to Clark; he has given his permission for a PDF of the book to be posted on the History of LISP web site.
Update 11/26/2010: Updated URLs to reflect reorganization of http://www.softwarepreservation.org/projects/LISP/.
Last winter Herbert Stoyan very generously donated to the Computer History Museum the extensive collection of Lisp and AI materials he assembled in the course of his extensive study of Lisp and its history: manuals, technical reports, papers, books, listings, magnetic media, and even two Scheme chips.
Stoyan has been involved with Lisp for four decades. In the early 1970s he implemented Lisp using only Berkeley and Bobrow as a reference, and this system became the basis for all artificial intelligence work in his native East Germany. In the late 1970s he became interested in the history of Lisp, and published the book LISP – Anwendungsgebiete, Grundbegriffe, Geschichte (Akademie-Verlag, Berlin, 1980) about Lisp and its history. In 1981 he emigrated to West Germany and began a career as a university professor; by 1990 he became Professor of Artificial Intelligence of the Friedrich-Alexander-Universität Erlangen-Nürnberg. He also wrote the two-volume Programmiermethoden der Künstlichen Intelligenz (Springer, 1988) about artificial intelligence programming. (For more details, see his speaker biography from the 2007 International Lisp Conference.)
In addition to his first book, Stoyan has published a number of papers on the early history of Lisp, including:
- LISP History. LISP Bulletin #3, December 1979, pages 44-55. PDF at www.artinfo-musinfo.org and ACM Digital Library
- Early LISP history (1956-1959). A version was published in: Proceedings of the 1984 ACM Symposium on LISP and functional programming, Austin, Texas, pages 299-310. ACM Digital Library
- The Influence of the Designer on the Design – J. McCarthy and Lisp. Originally published in: V. Lifschitz, editor. Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy. Academic Press Professional, Inc., 1991.
- Lisp: Themes and History. Invited Lecture at International Lisp Conference 2007. MP3 at CHM
The Herbert Stoyan Collection on LISP Programming (Lot X5687.2010) is quite large (105 linear feet, 160 boxes), and the Museum is currently in the throws of construction for the major new exhibit Revolution: The First 2000 Years of Computing. But through the combined efforts of staff and volunteers, the collection will be organized and made accessible, with portions scanned and available online. To get a taste of the depth and breadth of the collection, see Stoyan’s LISP Bibliography and searchable LISP-Museum. [Update 2015/01/10: the searchable version is no longer available.]
The arrival of this collection at CHM fulfills a dream that began for me in 2005 as I began work on History of LISP and first contacted Herbert Stoyan to timidly suggest he might contribute scans of selected items from his collection to CHM. His response — that he would be retiring in 3 years and needed to think about a permanent home for his collection — encouraged me to think that CHM might be the recipient. To get here from there, many people played important roles. At the risk of forgetting someone, I would like to thank Alex Bochannek, Grady Booch, Elizabeth Borchardt, Richard Gabriel, William Harnack, John Hollar, Paul Jabloner, Al Kossow, Karen Kroslowitz, Sara Lott, Bernard Peuto, Len Shustek, Dag Spicer, Herbert Stoyan, Kirsten Tashev, and JonL White. In addition, CHM volunteers John Dobyns and Randall Neff have labored to survey, pack, and catalog portions of the collection. (Additional volunteers would be welcome!) [Update 2015/01/10: Cataloging of the collection was completed in 2011.]
Update 2015/01/10: Stale links to Stoyan’s web sites replaced with Internet Archive Wayback Machine versions. Added link to finding aid for the Stoyan collection.
A celebration of the 50th anniversary of Lisp is taking place in October at OOPSLA 2008. John McCarthy will give a talk about the early history of Lisp. Also Guy Steele and Richard Gabriel will repeat their 1992 HOPL-II talk about the Evolution of Lisp.
Faithful readers of this blog know that a good way to prepare for this event is to visit the History of Lisp web site at the Computer History Museum, which contains source code, manuals, and hyperlinks for many versions of Lisp starting with McCarthy’s Lisp 1.5.
Update 5 (7/10/2012): I updated the URLs for www.lisp50.org to use www.archive.org since the domain name seems to fallen into the hands of Japanese search engine optimizers, and I updated the hyperlink for JonL White because his ACM Author page now gives a 404 error.
Update 4: It was necessary to revise the schedule because of severe health issues preventing John McCarthy from attending in person. Pascal Costanza says McCarthy will be able to participate via live telephone interview.
Update 3: Now www.lisp50.org lists the Invited Speakers but notes “Title, abstracts, biographies and schedule will be announced here and at the Lisp50 blog in the coming days and weeks.”
Update 2: www.lisp50.org seems to be the URL for Lisp50@OOPSLA, but the Invited Speakers section still says “to be announced”.
Update 1: JonL White notes that the Association of Lisp Users is holding its “celebratory 50th Anniversary” conference at MIT in the spring of 2009, with Guy Steele as Program Chair and Dan Weinreb as General Chair; Dan sent out an “extremely unofficial pre-announcement” in February.
Jérôme Chailloux recently told me about the wonderful ArtInfo-MusInfo web site, which contains a variety of documents produced by a group of “painters, musicians, psychologists, pedagogues, linguists, mathematicians, poets, architects and computer scientists gathered within the Computer Science Department of the University of Vincennes” during the period 1969-1980. Although there are many fascinating documents, I was especially interested in two collections:
- VLISP manuals and papers, including dissertations by Patrick Greussay and Jérôme Chailloux. VLISP was the precursor of Le_Lisp, and served as a testbed for some of the implementation techniques of Le_Lisp.
- LISP Bulletin #2 and #3, edited by Patrick Greussay & Joachim Laubsch. Danny Bobrow launched the LISP Bulletin with a first issue published in the September 1969 issue of SIGPLAN Notices, but no issues followed until Greussay and Laubsch took over.
Updated 11/26/2010: Updated URLs to reflect reorganization of http://www.softwarepreservation.org/projects/LISP/.
MIT’s MacLisp played a key role in Lisp history, but its documentation often lagged the system as developers concentrated on adding features and improving performance. Around the time that Lisp machine development eclipsed PDP-10 MacLisp, this final MacLisp document was published:
- Kent M. Pitman. The Revised MacLisp Manual. “Saturday Morning Edition”, M.I.T. Laboratory for Computer Science Technical Report MIT-LCS-TR-295, June 1, 1983.
This has been out of print for many years, but Kent just made available an updated, hypertext “Sunday Morning Edition”.
Update 1/1/2016: Corrected URL for MacLisp family.
Tom Rindfleisch kindly supplied a set of TENEX Interlisp files from a system dump of the SUMEX-AIM <lisp> directory as of January 31, 1982. Tom notes:
This version of Interlisp should be both TENEX and TOPS20 compatible. It came at a time when lots of work was going on to port Interlisp to other environments, including the VAX and the new personal Lisp machines (Dolphins, etc.). This means little was changing in the TENEX/TOPS20 version.
There are links to these files here.
Speaking of TENEX Interlisp, TWENEX.ORG is offering free TENEX accounts on a simulated KL10B and they seem to have a version of Interlisp installed. I plan to investigate.
[Edited 10 May 2014: community.computerhistory.org/scc/projects/LISP/index.html#INTERLISP_ => www.softwarepreservation.org/projects/LISP/interlisp_family/#INTERLISP_.]
Rich Cornwell (some of whose work I reported on earlier) and Bob Abeles (who was the first to point out to me the existence of the Fortran II sources) have recently completed a reconstruction of the card deck for the “Bonnie’s Birthday Assembly” of Lisp 1.5 (see Pascal Bourguignon recreates machine-readable source for LISP 1.5). Rich notes:
Bob Abeles has finished proof reading Lisp-1.5 and is pretty confident that the binary matches the listing. Unfortunately it still does not run. So we need someone with more lisp experience or possible compare it to some of other versions you have listed on your Lisp site. It currently does not work correctly under sim3.6 due to card reader bug. I will get this fixed in next couple of weeks. … But after two people proofing it (Bob & me) I am pretty sure that it matches now.
It is also possible that the lisp interpreter works correctly, but my test jobs is wrong.
Rich’s files are here if you’d like to take a look.
[Edited 10 May 2014: community.computerhistory.org/scc/projects/LISP/lisp1.5 => http://www.softwarepreservation.org/projects/LISP/lisp15_family/#LISP_I_and_LISP_1.5_for_IBM_704,_709,_7090_.]