Dr. John E. L. Peck, 1918-2013

Dr. John E. L. Peck (1918-2013)
Dr. John E. L. Peck (1918-2013)
Dr. John E. L. Peck, whose work on ALGOL 68 was described in a recent post, passed away on November 6, 2013. His family has provided this obituary:

John, born August 14, 1918 in Pietermaritzburg, South Africa, passed away peacefully with his family by his side on November 6, 2013. He is predeceased by his wife Dornacilla of 61 years, and lovingly remembered by his sons, Edward (Phyllis) and Nigel (Susan); his twin daughters Lenny (George) and Gwenda; his sister Gwenyth; grandchildren Justin (Kristina), Linstead (Randi), Shannon, Tanya and Vernon; great-grandson Isaac; nieces and nephews, Elizabeth, Brian, Richard, Louise, Deborah, Sheryl, Ross, Janene, Randa, Dahl and Fraser; relatives, good friends and colleagues from around the world. John was the first Head of the University of Calgary Mathematics Dept. and founded UBC’s Department of Computer Science – his contributions to computer science were significant internationally. He was a key member of the international community that pioneered the field of Computer Science beginning in the early 60s. He was an avid outdoorsman who enjoyed alpine climbing, skiing and cycle touring. He also had a strong love of music playing pipe organ, piano and classical recorder. He enjoyed a full and rich life and will be greatly missed. A Celebration of his Life will be held Saturday, December 7, 2013 at 10:00am at Victory Memorial Park Funeral Centre, 14831 28th Avenue, Surrey, BC. In lieu of flowers, please consider making a donation to the charity of your choice.

Condolences may be offered at www.victoryfuneralcentre.ca

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.

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.

SDC: Q-32 Lisp, Lisp 2, and three more; Lisp 1.5 Primer

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:

  1. A small Lisp for the Raytheon 704 used for speech capture and low-level processing.
  2. 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/.

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 ncl.ac.uk.

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.