ALGOL 68: Implementation and more

John E. L. Peck joined the ALGOL 68 design project in 1966, was a coauthor of the report, edited the proceedings of the 1970 Munich implementation conference, hosted meetings that laid the foundations for the revised report, and chaired IFIP Working Group 2.1 from 1975 to 1978. Recently his son Edward Peck contacted me to say that he had come across a set of ALGOL 68-related documents in his father’s papers, and wondered if they would be appropriate for the ALGOL 68 section of the History of ALGOL web site. That led to some valuable additions:

I’d like to thank Edward Peck very much for making these documents available and for careful work scanning them.

Algol 68: Informal Introduction and more

Cover of Informal Introduction to Algol 68Several years ago I began an archival collection for the Algol family of programming languages: Algol 58 (originally known as the International Algorithmic Language), Algol 60, and Algol 68. I began looking for implementations of Algol 58 and Algol 60. Since then I’ve also found information (including, in some cases, source code), for many Algol 68 implementations.

I’d like to announce the return of a very useful Algol 68 resource: a scanned copy of Informal Introduction to Algol 68, posted by permission of coauthor Charles H. Lindsey and copyright holder IFIP. This is the revised 1980 reprint of the second (“completely revised”) edition of 1977. For convenience, I’ve also posted separate files containing the large fold-out Table of Contents and the appendix of Syntax Charts.

This book, together with Marcel van der Veer’s modern Algol 68 Genie implementation and the extensive documentation accompanying it (including a hypertext version of the Revised Report) provide an excellent way to study Algol 68.

In addition to the above-mentioned, a number of other people have contributed to the overall Algol archive project. I’d like to single out Neville Dempsey for his dedication to spreading knowledge of and appreciation for Algol 68.

50th Anniversary of LISP 1.5 Programmer’s Manual

Cover of LISP 1.5 Programmer's Manual
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:

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.”

Remembering Jim Gray

Jim Gray’s professional contributions to the theory and practice of transactions, databases, and scientific applications of large databases, coupled with his teaching, mentoring, and warm friendships made a tremendous impact on the world. When he failed to return from sailing his 40-foot sloop Tenacious around the Farallon Islands on January 28, 2007, it was a devastating blow to family, friends, and colleagues alike. Despite a series of extremely thorough searches by the Coast Guard, by his friends, and by his family, no trace of him or his boat were ever found, which meant he could not be declared legally dead at that time. The ambiguous loss suffered by his wife and family meant his disappearance was especially difficult to recover from. After the legally-mandated five-year waiting period, a court recently granted a petition by his wife Donna Carnes to have Jim declared dead as of January 28, 2012. As Donna indicates in this NY Times interview, the waiting followed by the court order have led to a sense of closure for her.

I recently wrote a summary of Jim’s life and career for the updated ACM Turing Award web site; it includes links to related articles from the 2008 Tribute held for him at U.C. Berkeley and also photographs supplied by Donna.

Jim Gray with former colleagues of the CAL Timesharing project at U.C. Berkeley, Golden Gate Park, April 1974

Here I’ll note a few of my personal memories of working with Jim, who I met at the University of California in the the late 1960s, when he was a computer science graduate student, and I was an engineering undergraduate and part-time employee of the campus computer center. Jim served as an informal advisor to me on course work, and he was also my manager for a time on the CAL Timesharing System project. Jim was a knowledgeable, patient and enthusiastic advisor. There were few boundaries between Jim’s professional and social life. I will never forget going walnut picking with Jim, who stood on the roof of his VW bus to reach the walnuts, and then easily repaired the dent in the roof by pushing upward from below.

Franco Putzolu, Jim Gray, and Irv Traiger at IBM San Jose Research, circa 1977

Jim and I worked together again a few years later at IBM San Jose Research (now IBM Almaden). After working with John Backus (whom Jim had introduced me to) on functional programming for about 15 months, I joined Jim on the System R team. By then Jim was well into his work on the transaction abstraction — creating a unified approach to the interrelated problems of concurrency control and crash recovery — which led to his 1998 ACM Turing Award. I took over some of the transaction management code, designed the crash recovery component, and wrote a multiprocess debugger which we used to test and debug the lock manager. As always, Jim was an enthusiastic and generous collaborator; I’m very proud of being a coauthor with him and six of our System R colleagues of the paper “The Recovery Manager of the System R Database Manager”.

I don’t suppose I’ll ever stop encountering subjects causing me to say to myself, “If only I could talk to Jim about this.”

The First International LISP Conference (1963)

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.

Continue reading The First International LISP Conference (1963)

More ALGOL history papers

As the ALGOL programming language enters its sixth decade, its interest to historians seems to be increasing. I’ve recently added additional citations to the “Papers on the history of ALGOL” section of the History of ALGOL web site:

  • Edgar G. Daylight. From Mathematical Logic to Programming-Language Semantics — a Discussion with Tony Hoare. Journal of Logic and Computation (to appear).

    Section 2.3 covers Hoare’s Algol work at Elliot.

  • Edgar G. Daylight. Pluralism in Software Engineering: Turing Award Winner Peter Naur Explains. CONVERSATIONS. Issue 1, Volume 2011, Lonely Scholar, 2011.

    Part I of this wide-ranging interview covers Naur’s work on Algol 60, including the DASK and GIER implementations. He also makes a few remarks about Algol 68.

  • Pierre Mounier-Kuhn. From universal project to sunken culture : Algol in France. SHOT / SIGCIS Workshop 2011, Cultures and Communities in the History of Computing, Cleveland (OH), 6th November 2011. PDF

Edgar Daylight on Dijkstra

The latest addition to the “Papers on the history of ALGOL” section of the History of ALGOL web site is this paper about Dijkstra’s involvement in proposing and implementing the recursive procedure as an ALGOL 60 language construct:

  • Edgar G. Daylight. Dijkstra’s Rallying Cry for Generalization: The Advent of the Recursive Procedure, Late 1950s–Early 1960s.

In a section on Future Work near the end of the paper, Daylight notes, “Research contributions of Gödel, Carnap, Turing and Tarski have been studied and documented over and over again by logicians and philosophers themselves. Computer scientists, by contrast, have yet to commence with similar work concerning the ideas of their fathers: Dijkstra, McCarthy, Hoare and others. This, in turn, explains my motivation to write this paper.” Daylight, who is a post-doctorate researcher in the history of computing, has set up the blog-style web site Dijkstra’s Rallying Cry for Generalization as a way to report on his ongoing research into Dijkstra’s writings, including the E. W. Dijkstra Archive at the University of Texas and additional materials Dijkstra’s family donated. Daylight is off to a good start. He welcomes suggestions for improving his blog, and notes he’ll be adding photographs of Dijkstra soon.

In that spirit, I offer the following photograph, taken at the 1973 Marktoberdorf Summer School, of instructor Dijkstra and student McJones. Dijkstra’s subsequent trip report (EWD385) mentions my friend Dave Redell (who took the photograph) and me because we served as “intelligent terminals” in an “interactive programming session”.

E. W. Dijkstra and Paul McJones at Marktoberdorf Summer School, 1973

Gordon Bell: “Out of a Closet: The Early Years of The Computer [History] Museum”

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.

LISP historical archive web site reorganized

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.

Robert L. Patrick on eMuseums

Bob Patrick is a friend of mine who entered the computer field in 1951, and whose hands-on experience running programs on an IBM 701 led him to conceive of the architecture for the General Motors/North American Monitor for the IBM 704 computer. (Bob described this work in a 1987 National Computer Conference paper. Other aspects of his extensive career are discussed in his recent Annals of the History of Computing paper and in a 2006 Oral History.)

For a number of years Bob has been involved in volunteer activities at the Computer History Museum, and recently he organized his thoughts on how museums can use the web to present technology, in the form of this article: “Museums in the Computer Age: meeting the challenge of technology“. Bob invites comments on the article via email at

Herbert Stoyan’s Lisp collection at CHM

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:

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.

Whetstone ALGOL

Part of my motivation for starting on an ALGOL project was that Brian Randell recently obtained permission from the copyright holder to post an online copy of ALGOL 60 Implementation at CHM. This book, which he and Lawford Russell published in 1964, provides a detailed description of the ALGOL 60 compiler (known as Whetstone ALGOL) they developed for the English Electric KDF9 Computer. In January, Brian gave a talk “Reminiscences of Whetstone ALGOL” at a joint meeting of the BCS Advanced Programming Group and the Computer Conservation Society recognizing the 50th anniversary of ALGOL 60; see here for more on Whetstone. In particular, the Whetstone Algol resurrection team notes: “We now have the Walgol Translator re-keyed from a dog-eared listing, in the main, by Brian Wichmann, Graham Toal and Roderick McLeod. David Holdsworth has written an assembler and a rough-and-ready emulator. Bill Findlay is in the process of implementing a properly-enginered emulator.”

Update 7/11/2012: corrected URLs for ALGOL 60 Implementation at Software Preservation Group website and “Reminiscences of Whetstone ALGOL” at

Update 9/22/2010: corrected URL for Whetstone at Software Preservation Group website.


I recently created an ALGOL section at the Computer History Museum‘s Software Preservation Group web site, covering the language standardization efforts — for ALGOL 58 (also known as the International Algebraic Language), ALGOL 60, and ALGOL 68 — and also covering many implementations, dialects, and offshoots, complete with source code, manuals, and papers for many of these. The history of ALGOL has attracted many writers, and the final section of the web site links to many of their papers.

The ALGOL 58/60 implementations for which I’ve been able to find source code for include:

  • Burroughs 205 (Knuth)
  • Burroughs 220 (Erdwinn et al.)
  • Burroughs B-5500
  • DEC PDP-10 (Habermann et al.)
  • Electrologica X1 (Dijkstra and Zonneveld – Mathematisch Centrum)
  • Electrologica X8 (Kruseman Aretz – Mathematisch Centrum)
  • Electrologica X8 (Bron et al. – Technische Hogeschool Eindhoven)
  • Elliot 803 (Hoare et al.)
  • English Electric Whetstone (Randell and Russell)
  • G.E.C. process control computer (Higman)
  • Regnecentralen GIER (Naur et al.)
  • Stantec Zebra (van der Mey – Netherlands PTT)

The appendices to Maurice Halstead’s book Machine-Independent Programming (Spartan Books, 1962) contain compiler source listings of Neliac (an ALGOL 58 dialect) for the UNIVAC M-460, IBM 704, and CDC 1604.

I also found compiler source code and listings for several versions of ALGOL W.

I’ve just gotten started looking for ALGOL 68 implementations.

I welcome your comments, corrections, and suggestions for the ALGOL web site.

Don Chamberlin and the origin of SQL

Tonight Don Chamberlin will receive a 2009 Fellow Award of the Computer History Museum “for his fundamental work on structured query language (SQL) and database architectures”. The other awardees for 2009 are Robert R. Everett (M.I.T. Whirlwind and SAGE) and Federico Faggin, Marcian (Ted) Hoff, Stanley Mazor and Masatoshi Shima (Intel 4004).

In a recent oral history I conducted for the Computer History Museum, Don put into context his work designing SQL in collaboration with Ray Boyce. Don described the pre-relational database management systems, Ted Codd’s development of the relational model, various implementation projects at IBM culminating in System R, which was the first RDBMS to support SQL. Don went on to describe other pioneering relational systems, including Ingres and Oracle. He also described his subsequent work on text processing, DB/2, and XQuery.

For further historical information about Don and his work, see:

Bob Taylor recognized by The University of Texas

Last month, Bob Taylor (the subject of a recent oral history) was recognized by The University of Texas. Bob received the Graduate School Outstanding Alumnus Award, a $100,000 Presidential Endowed Fellowship was established in his name, and he gave the first in a series of lectures in the UT Graduate School’s Centential celebration. Since this is also the 40th anniversary of the first tests of the ARPAnet, it was a fitting time for Bob’s achievements to be honored.

The lecture was in the form of an interview by New York Times technology reporter John Markoff, who noted:

The Internet has many fathers, but few deserve the label more than Robert W. Taylor.

Authors M. Mitchell Waldrop (The Dream Machine) and Michael A. Hiltzik (Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age) shared their views as well. J Strother Moore and Gary Chapman (who each worked with Bob in the past and now have UT positions) served as masters of ceremony.

The announcement for the lecture includes links to news stories about Bob, as well as the famous 1968 paper by Licklider and Taylor, “The Computer as a Communication Device”. The recap of the lecture includes links to a video and photographs.

Oral history of Robert W. Taylor

Robert W. Taylor directed external research at NASA, where he funded early work by Douglas Engelbart, and at the ARPA IPTO, where he initiated the ARPANET project. He also founded the Xerox PARC Computer Science Laboratory and later the DEC Systems Research Center. Last fall I interviewed him for the Computer History Museum‘s Oral History Collection. The transcript, based on two afternoons of interviewing captured on six videotapes, has been edited and is now online: catalog entry; transcript (PDF).

Here are summaries of the contents (corresponding to the six videotapes):

  1. Taylor’s childhood, education, military service in the US Navy during the Korean War, and his first positions after graduating from college: teaching at a prep school in Florida, and systems engineering at The Martin Company in Orlando, Florida; managing research at NASA and at ARPA IPTO.
  2. The ARPANET project, the founding of the graphics work at the University of Utah; his own brief stay at the University of Utah; the founding and early history of the Xerox PARC Computer Science Laboratory (CSL); Xerox’s purchase of Scientific Data Systems (SDS), and CSL’s MAXC, Alto, and EARS projects.
  3. More on the Alto system and what it influenced (including TCP/IP); the Future Day held by PARC for Xerox executives; the Dorado project.
  4. His departure from Xerox; the founding of the DEC Systems Research Center (SRC); the Firefly, Alpha Demonstration Unit, Autonet, AN2, and Petal projects; the founding of the DEC Paris Research Laboratory and its collaboration with SRC; the nearby DEC Western Research Laboratory (WRL) and its Titan project; a recap of the commercialization of Ethernet.
  5. Wes Clark, his TX-2 work, his LINC work, and his suggestion of decentralizing control for the ARPANET via a small computer (IMP) at every host; Taylor’s work in Vietnam at the end of his ARPA tenure; his approach to research management, including recruiting, interviewing, and performance appraisals.
  6. More on research management: informal celebrations, and the importance of a college intern program; reminiscences about people who worked at Xerox PARC CSL or DEC SRC or both.

ACM Classic Books Series

Last summer, ACM posted PDF versions of some books in its Classic Books Series, which resulted from a poll of ACM members initiated by David Patterson, who was then ACM President. The books are accessible to anyone who creates a free ACM Web Account.

The available books include:

Update: I had neglected to include the book by Aho and Ullman..

Update: The URL above for the ACM Classic Books Series was updated to

The Revised MacLisp Manual goes online

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”.

If you are interested in more MacLisp history, including earlier manuals, source code, and more, see the MacLisp area of the Lisp website at the Computer History Museum.

BBC Radio observes Fortran’s 50th birthday

This week’s episode of BBC Radio’s Digital Planet show includes a short segment on the 50th anniversary of Fortran. The presenter, Gareth Mitchell, interviewed me last week and about 4 minutes of that interview are included.

If you’re interested, the show will be broadcast at various times December 18 and 19 (today and tomorrow); local schedules are available at this web page:

For one week only, starting today, an MP3 of the entire half-hour show can be downloaded from this web page:

The Fortran segment starts at about 19m38s into the show.

Update 2: With the permission of BBC Radio, I’ve added the audio of the Fortran segment to the Memoirs and user stories section of the CHM Fortran web site:

  • Gareth Mitchell, presenter. Fortran is 50. Digital Planet programme, BBC Radio World Service, December 18, 2007, 6′:40″. MP3 (7.6 megabytes)

    Mitchell interviews Paul McJones on the occasion of the 50th birthday of Fortran; additional commentary by Bill Thompson; produced by Helena Selby.

Update: A BBC reorganization removed the download link from the page above; in a comment below, Derek Mahar notes the episode download site is now and this download itself is

C++ Historical Sources Archive

Observant audience members at Bjarne Stroustrup’s HOPL-III C++ talk this past weekend may have noticed on the last slide a mention of the C++ Historical Sources Archive at the Computer History Museum. This is a project Bjarne and I have been working on in the background for a year or two. Bjarne convinced the appropriate authorities at AT&T to approve releasing the Cfront source code, and then dug up listings, documentation, and/or machine-readable source for Cfront releases E, 2.0, and 3.0. Willem Wakker kindly supplied a copy of release 1.0. We have also tracked down some early libraries including libg++, COOL, LEDA, Array_Alg, STL, InterViews, ET++, and more. We would be very interested also in early applications written in C++ (especially pre-1990).

By the way, what was previously called the Software Collection Committee at the Computer History Museum has a new name (the Software Preservation Group), a new domain name ( and a new chairman (Al Kossow, the Museum’s Software Curator and the creator of