Archive for the ‘LISP’ Category

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

Monday, August 9th, 2010

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.

Herbert Stoyan’s Lisp collection at CHM

Thursday, July 29th, 2010

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 (94.5 linear feet in 87 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.

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!)

Notes from Lisp50

Thursday, October 30th, 2008

The Learning Lisp blog has an interesting series of postings on the recent Lisp50 conference:

  1. JonL Recalls How Sussman Revealed the Nature of Intelligence…
  2. Model-View-Controller Considered Harmful
  3. McCarthy Reaffirms the Importance of Having Access to the Abstract Syntax
  4. Fritz Kunze Enters the Lisp Mine Field
  5. Interlisp, PARC, and the Common Lisp Consolidation Wars
  6. The Future of Lisp

Lisp’s 50th Birthday Celebration

Friday, July 4th, 2008

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

VLISP documents; LISP Bulletin #2 and #3

Saturday, February 23rd, 2008

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.

I’ve updated the VLISP and LISP Bulletin sections of the CHM LISP web site with links to these documents.

The Revised MacLisp Manual goes online

Wednesday, December 26th, 2007

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.

IBSYS Fortran II runs on a SIMH-based simulator

Monday, April 3rd, 2006

An upcoming release of Bob Supnik’s SIMH (Computer History Simulation system) will include IBM 704/709/7090/7094 simulation provided by Rich Cornwell. Rich has been very busy lately: implementing and debugging the simulations of the CPU, channels, controllers, and devices; tracking down and transcribing source code for diagnostics; and figuring out how to rebuild and run various diagnostics, SHARE, IBSYS, and CTSS code. He’s had great luck with the IBSYS distribution from Paul Pierce; in particular, he was able to get the code compiled by the Fortran II compiler to execute. It turns out the Fortran II compiler writes out intermediate files to tape as individual records not followed by the customary tape mark; it was necessary to tweak the simulator to handle this the way the original hardware did. Rich notes that Bob Supnik, who is also working on a 7094 simulator, was the first person to discover this. (Rich says Bob will include both Rich’s and his own 7xxx simulators in SIMH since Bob’s is specifically optimized for running CTSS while Rich’s is aimed more toward IBSYS and older 704/709 software.)

Rich’s enthusiasm inspired me to finally obtain a copy of the Smithsonian’s Fortran II listing — this is a version for the IBM 704, which does not have I/O channel — it is the machine for which the original Fortran I compiler was written. Rich is in the process of recreating the assembly language source code from which this listing was generated. He’s doing this by hand, because the quality of OCR is not high enough.

Rich has many related projects in mind, and welcomes others who would like to join in: transcribing/proofreading diagnostics and the 704 Fortran II listing, working on some remaining IBSYS language processors, getting the Lisp 1.5 interpreter to run, etc. His home page (yes, kites!) has an EMail link for getting in touch with him, or contact me and I’ll put you in touch with him.

Brad Parker resurrects MIT CADR Lisp Machine source code

Tuesday, October 4th, 2005

Brad Parker recently announced:

After a long and interesting search I uncovered a set of 9-track tapes which appear to be a snapshot of the MIT CADR Lisp machine source code from around 1980. This is not the final source code and not the last source release I will make. It is, however, the first source release.

Tom Knight and others at MIT helped me secure permission from MIT’s Patent office to release the software. I am indebted to him and the others for making this possible.

Follow the link above for a compressed tar file containing the tape images, extracted files, and extraction software, plus MIT’s license, a README, and a link to Brad’s CADR emulator.

(Via Bill Clementson via Lemonodor; see also Bill Hyde.)

I’ve added a link to Brad’s web page in the Zetalisp for Lisp Machines section of the History of LISP website at the Computer History Museum.

Stanford LISP 1.6; the original Standard LISP

Sunday, July 24th, 2005

Work on LISP spread from McCarthy’s original M.I.T. project to other projects at M.I.T. and then to other institutions as people moved on and word about the capabilities of the language spread. John Allen brought a snapshot of the M.I.T.’s PDP-6 LISP to Stanford where it evolved into Stanford LISP 1.6 through the work of Allen, Lynn Quam, and Whitfield Diffie.

At the recent International Lisp Conference, I gave a short presentation, and afterwards several LISP pioneers chatted with me. Lynn Quam volunteered to provide me with scanned copies of a number of historic documents concerning LISP 1.6: SAILON 28.1 (compare with MIT AIM-116a), SAILON 28.2, SAILON 28.3, and SAILON 28.6, as well as memos describing various library packages.

Lynn also provided a copy of Stanford AIM-90, the 1969 Standard LISP specification by Anthony Hearn. Hearn designed Standard LISP as an abstraction layer upon which his REDUCE computer algebra system was implemented. AIM-90 included a 5-page appendix of definitions to make Stanford’s LISP/360 conform to Standard Lisp. (The later Portable Standard LISP project was a from-scratch implementation.)

Classic LISP books online

Sunday, July 10th, 2005

With the permission of The MIT Press, I have posted online copies of two classic LISP books on the History of Lisp website at the Computer History Museum:

  • John McCarthy, Paul W. Abrahams, Daniel J. Edwards, Timothy P. Hart and Michael I. Levin. LISP 1.5 Programmer’s Manual. The M.I.T. Press, 1962, second edition. PDF
  • Berkeley and Bobrow, editors. The Programming Language LISP: Its Operation and Applications. Information International, Inc., March 1964 and The MIT Press, April 1966. PDF

In addition to these I have continued to track down information about more versions of LISP, so the web site keeps growing.

I also gave a brief announcement of this project at the recent International Lisp Conference 2005, and a number of people volunteered to help me track down more information.

If I’ve neglected your favorite version of LISP, please go through your closet or basement and find those manuals, listings, mag tapes, etc.

Pascal Bourguignon recreates machine-readable source for LISP 1.5

Wednesday, June 8th, 2005

Pascal Bourguignon encountered this item on my History of LISP web site:

  • LISP system assembly listing. “FIELD TEST ASSEMBLY OF LISP 1.5 SEPTEMBER 1961″, labeled “Bonnie’s Birthday Assembly”. M.I.T. Museum, donated by Timothy P. Hart and scanned by Jack Harper. PDF (16MB)

and promptly began reconstructing machine-readable source. This morning he announced on comp.lang.lisp his progress (he’s typed in the source, patched it and Dave Pitts’ assembler to nearly recreate the listing, and is close to running it on the emulator). As he says in a README file of his distribution:

This card deck can be assembled with asm7090-2.1.4 applying the small patch ‘asm7090.patch’ to get a listing as identical as possible. asm7090 prints ‘0′ in the generated words for symbols under different headers, so we cannot make a complete word-for-word comparison of the generated code from the listing, until we modify asm7090 in this respect.

The objective is to recover a perforation for performation image of the Source. The same columns, the same typoes should be reproduced.

If you’d like to help Pascal find the remaining errors, or have the LISP 1.5 compiler sources or LISP 1.5 application sources, you can contact Pascal at the email address in the above-mentioned README file. Please also send me email or post a comment to this entry!

Archiving LISP history

Sunday, May 22nd, 2005

Based on the progress I’ve made with FORTRAN, I decided to start another effort at the Computer History Museum to track down source code and documents for the original M.I.T. LISP I/1.5 project. I have made some progress, and am assembling a LISP web site at the Museum to organize and present the materials I’ve collected so far, including:

  • LISP 1.5: Assembly listing for IBM 709/7090 standalone system, and also CTSS port. Information about various other ports and reimplementations including Univac M-460, Q-32, Univac 1108.
  • PDP-1 Lisp: links to the documentation, source code and simulators
  • MacLisp (PDP-6, PDP-10): links to documentatation and source code
  • BBN-LISP: the manual for the original PDP-1 version and the Tenex version (coming soon: preliminary specifications for the 940 version)
  • and many more.

As always, your comments are welcome. What am I missing? What facts have I gotten wrong? Please help fill in the gaps.