- LISP 1.5/1.6/MACLISP for PDP-6/10
- Multics Lisp (Multics MacLisp)
- Zetalisp for Lisp Machines
- NIL (New Implementation of Lisp), S-1 Lisp
- Franz Lisp
- Spice Lisp
Richard Greenblatt arrived at M.I.T. in the Fall of 1962. There was a PDP-1 in Building 26 (next door to the TX-0), a gift from DEC: serial number 3. It was available for student use, and was entirely hands on, having no operating system not dependent on manipulating the console keys. L. Peter Deutsch was a young high school student, the son of an M.I.T. professor. He wrote a LISP which ran entirely in the core memory of 4096 18-bit words. Later a drum was installed, which had 22 4096-word "fields", or 88K words altogether. Someone - Michael Wolfberg? - changed Deutsch's LISP to treat every memory reference as a subroutine call to a cache/drum access routine.
In 1963, DEC began the PDP-6 project with Gordon Bell as the chief engineer and Alan Kotok as the junior engineer. Kotok still spent time at the Tech Model Railroad Club, where members such as Dave Gross, Peter Samson, and Richard Greenblatt were devising efficient implementations of the various LISP SUBRs. The prototype PDP-6 took shape at the Mill, DEC's facility in Maynard, MA. The M.I.T. students would visit in the evening, bringing paper tape with assembly language source code prepared on the PDP-1 at M.I.T. They used a cross-assembler on a PDP-4. Bill Mann and Richard Greenblatt studied Deutsch's EVAL and wrote a new one for the PDP-6. Dave Gross and Greenblatt wrote PRINT. Gross and Tom Eggers went to work for DEC full time, and did some work on PDP-6 LISP. DEC sold the first PDP-6 to M.I.T.'s Artificial Intelligence Laboratory, accepting the Lab's existing 16K PDP-1 in trade as partial payment. However, the AI Lab was allowed to keep both machines for a short period.
Greenblatt returned to the AI Lab full time at that point (he had earlier been a student employee). At this point, Greenblatt, Stuart Nelson, Tom Knight and Jack Holloway resumed work on PDP-6 LISP. Then Greenblatt and Nelson decided to do a more sophisticated compiler that provided consistent variable access across the interpreter and compiler; this became MacLisp. Several years later John White took over the compiler, which became NCOMPLR. [Richard Greenblatt, as told to Paul McJones, March 15, 2005; see also Greenblatt oral history]
"Ideas from several other implementations influenced the initial design, notably the CTSS version on the IBM 7094, and the very minimal version for the PDP/1. However, the decision to dispense with the a-list in the implementation, a major factor in the space economy and running speed of MACLISP, came some time later. An improved compiler was written as an adjunct to the system – compilation is done 'off-line', and the resulting LAP code loaded into the system when desired." [John L. White 1970; see also Jon L. White 1977]
- Alan Bawden. Partial online archive of AI filesystem of ITS: The Incompatible Time Sharing System. http://www.its.os.org/ In particular, the file -read-.-this- in ftp://ftp.its.os.org/its/ai/lisp.tgz says:
Directories with MacLISP relevance are:
LISP; -- FASL files
LSPDMP; -- Dump files
L; -- MIDAS sources for main lisp file, and for others
COMLAP; -- COMpiler (with FASLAP) and LAP assembler
LSPSRC; -- Various auxillary out-of-core files written in lisp
NILCOM; -- More LSPSRC. Mostly lisp macros, etc.
LSPMAI; -- Bug mail and other notices.
LISP20; -- Stuff for 20X MacLisp
See also Zane Healy's indexes on his DEC PDP-10 Emulation page online www.avanthar.com:
- Bruce G. Baumgart, archivist. SAILDART Archives, Artificial Intelligence Laboratory, Stanford University.
- [MAC,LSP] MacLisp. Version adapted for SAIL WAITS timesharing system. Various dates, circa 1978. online
- Phil Budne. Source files and text documents. Online at ftp.ultimate.com
- These items were obtained from a TOPS-20 system at XKL.com:
- These items were obtained from tape images of Chemistry Department disk packs from the Stevens Tech TOPS-10 timesharing system:
Latest entry in file LISP.ARC is "TUESDAY SEPT 14,1976 FM+6D.1H.33M.7S. LISP 1211 -GLS,JONL-". File LISP. is timestamped and copyright 1978. File READ.ME ends with "For other questions contact RPG [Richard P. Gabriel]."
"In 1976 the MIT version of MacLisp was ported to the WAITS operating system by Richard Gabriel at the Stanford AI Laboratory (SAIL), which was directed at that time by John McCarthy." [Steele and Gabriel 1993]
- Terry Winograd. SHRDLU.
"SHRDLU is a program for understanding natural language, written by Terry Winograd at the M.I.T. Artificial Intelligence Laboratory in 1968-70. SHRDLU carried on a simple dialog (via teletype) with a user, about a small world of objects (the BLOCKS world) shown on an early display screen (DEC-340 attached to a PDP-6 computer)."
- William A. Martin. PDP-6 LISP Input-Output for the Dataphone. Memo 79,
Artificial Intelligence Project, Memorandum MAC-M-241, Project MAC,
Massachusetts Institute of Technology, June 1, 1965, 6 pages.
"Abstract: A version of LISP 1.5 for the PDP-6 Computer has been extended to include IO through the dataphone. This makes possible communication between programs running in Project MAC time sharing and LISP programs running on the PDP-6. The method of handling input-output for the dataphone is similar to that for the typewriter, paper tape punch, and paper tape reader. Three useful LISP functions are presented as examples of dataphone programming.'
- William A. Martin. PDP-6 LISP Input-Output for the Display. Memo 80,
Artificial Intelligence Project, Memorandum MAC-M-242, Project MAC,
Massachusetts Institute of Technology, June 28, 1965, 22 pages.
"Abstract: An intermediate level language for display programming has been embedded in LISP 1.5. The language is intended as a basis for higher level display languages and includes facilities for both generation and analysis of display information. ..."
- Peter Samson. PDP-6 LISP. Artificial Intelligence Memo 98, Project MAC
Memo MAC-M-313, Massachusetts Institute of Technology, June 16, 1966, 11
"This is a mosaic description of PDP-6 LISP, intended for readers familiar with the LISP 1.5 Programmer's Manual or who have used LISP on some other computer. Some of the newer features (e.g., the display) are experimental and subject to change; in such respects this should not be regarded as a final document."
- Anonymous. PDP-6 LISP (LISP 1.6) Revised. A.I. Memo No. 116A, Project MAC, April 1967, 23 pages, (corrected edition of Memo 116, January 1967). PDF PDF at MIT
- Roland Silver. Incorporating MIDAS Routines into PDP6 LISP. Systems
Program Memo, Artificial Intelligence Memo 127, Project MAC, Massachusetts
Institute of Technology, March 1967, 6 pages.
"Some PDP6 LISP users have felt a need for a way to incorporate MIDAS subroutines into LISP. LISP has been changed to let you do this, using files found on the LISP SYSTEM microtape."
- Roland Silver. LISP Linkage Feature: Incorporating MIDAS Routines into PDP6 LISP. Systems Program Memo, Artificial Intelligence Memo 127A, Project MAC, Massachusetts Institute of Technology, October 1967, 5 pages (corrected edition of Memo 127, March 1967). PDF at MIT
- John L. White. Additions to LAP. Artificial Intelligence Memo 132, Program Memo, Project MAC, Massachusetts Institute of Technology, 4 pages, July 1967. PDF at MIT
- John L. White. Matrix Inversion in LISP. Artificial Intelligence Memo
136, PDP-6 Program Memo, Project MAC, Massachusetts Institute of Technology,
July 1967, 2 pages.
"Very soon there will appear on the vision library tape a file named @IAS which is a collection of compiled SUBR's for performing general matrix row reduction and inversion."
- Jon L. White. PDP-6 LAP. Artificial Intelligence Project Memo 152, Project MAC, Massachusetts Institute of Technology, January 1968, 10 pages. PDF at MIT
- John White. Time-Sharing LISP for the PDP-6. Artificial Intelligence
Memo 157, Project MAC, Massachusetts Institute of Technology, March 1968, 17
"This Memo. written in the style and convention of A.I. memo. No. 116A, may be considered an addendum thereto. It should prove to be a welcome updating on the LISP system."
- Donald Eastlake III. ITS 1.4 Reference Manual. Artificial Intelligence Memo
No. 161, MAC-M-377, Massachusetts Institute of Technology, June 1968, 83 pages.
ITS (Incompatible Timesharing System) was the operating system on which MacLisp was developed.
- JonL White. A Temporary Updater for LISP Users. A.I. Internal Note, November 25, 1968. PDF
- D. Eastlake, R. Greenblatt, J. Holloway, T. Knight, S. Nelson. ITS 1.5 Reference Manual. Artificial Intelligence Memo No. 161A, MAC-M-377, Massachusetts Institute of Technology, July 1969, 180 pages. PDF at MIT Reconstructed text at sigfs.org
- Thomas O. Binford. Display Functions in LISP. Artificial Intelligence Memo No. 182, Project MAC, Massachusetts Institute of Technology, March 1970, 18 pages. PDF at MIT
- John L. White. An Interim LISP User's Guide. Artificial Intelligence
Memo No. 190, Project MAC, Massachusetts Institute of Technology, March
1970, 87 pages. PDF PDF
"The substance of this memo is to initiate the naïve LISP user into the intricacies of the system at the Project MAC A.I. Lab. ... At some undetermined time in the future a comprehensive document will be issued, consisting of an elementary introduction to LISP, a self-primer, the core of this document, and numerous reference appendices. The comprehensive guide will then replace A.I. memos numbers 116A, 152, 157, the LISP Progress Report, this memo and all informal notes and communications."
The Notation section says: "'MACLISP' refers to the PDP/6 implementation of the programming language LISP in use at the Artificial Intelligence Group of Project MAC."
- Jeffrey P. Golden. A User's Guide to the A. I. Group LISCOM Lisp Compiler: Interim Report. Memo No. 210, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, December 1970. PDF at MIT CSAIL
- David A. Moon, David P. Reed, and Ira Goldstein, Guy L. Steele, Alexander Sunguroff. LISP/MACLISP Reference Manual. Rough draft #9905, Massachusetts Institute of Technology, 1973. MACLSP.DBA [UP,DOC] at www.saildart.org
- David A. Moon. MACLISP Reference Manual, Revision 0. Project MAC,
Massachusetts Institute of Technology, April 8, 1974. From Herbert Stoyan Collection on LISP Programming, Lot Number X5687.2010. PDF
"In 1973 and 1974, David Moon led an effort to implement MacLisp on the Honeywell 6180 under Multics. As a part of this project he wrote the first truly comprehensive reference manual for Maclisp, which became familiarly known as the 'Moonual'." [Steele and Gabriel 1993]
- Anonymous. MacLISP Reference Manual. Project MAC, Massachusetts Institute of Technology, December 17, 1975. From Herbert Stoyan Collection on LISP Programming, Lot Number X5687.2010. PDF
- Anonymous. MACLISP Reference Manual, March 6, 1976. LISP INFO file from MIT
TECO EMACS Version 170.
Online at pdp-10.trailing-edge.com
- "This file is a fast edit of the MACLISP Reference Manual Dated March 6, 1976, so expect stuff to be out of date and to refer to non-existent page numbers. See other notes under Sources."
From the same release: MACLISP-COMMANDS INFO file. Online at pdp-10.trailing-edge.com
- MacLISP information from ITS AI:.INFO at www.avanthar.com
- JonL White [JONL], Eric Rosen [ECR], Richard M. Stallman [RMS], Guy L. Steele [GLS], Howard I. Cannon [HIC], Bob Kerns [RWK]. LISP NEWS. MacLisp release notes.
"This file contains in reverse chronological order the modifications to Maclisp over the years. Astute readers can find programming hints and obscure documentation here."
- March 1, 1974 to February 17, 1982. Online at www.avanthar.com
- March 1, 1969 to January 26, 1978 Online at www.saildart.com
- Anonymous. MacLISP Reference Manual. Project MAC, Massachusetts Institute of Technology, July 27, 1978 and August 3, 1978. From Herbert Stoyan Collection on LISP Programming, Lot Number X5687.2010. PDF
- Anonymous. Maclisp Reference Manual, March 3, 1979. Online at www.avanthar.com
- David S. Touretzky. A Summary of MacLisp Functions and Flags. Internal publication, Computer Science Department, Carnegie Mellon University. First edition, August 1979. PDF
- Alan Bawden, Glenn S. Burke, and Carl W. Hoffman. Maclisp Extensions. Laboratory for Computer Science, Massachusetts Institute of Technology, July 1981. PDF
- Richard C. Waters. GPRINT: A LISP Pretty Printer Providing Extensive User Format-Control Mechanisms. AI Memo 611, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, October 1981. Online at dspace.mit.edu
- K. 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.
"Abstract [from www.multicians.org bibliography]: MACLISP is a dialect of Lisp developed at M.I.T.'s Project MAC (now the MIT Laboratory for Computer Science) and the MIT Artificial Intelligence Laboratory for use in artificial intelligence research and related fields. Maclisp is descended from Lisp 1.5, and many recent important dialects (for example Lisp Machine Lisp and NIL) have evolved from Maclisp. David Moon's original document on Maclisp, The Maclisp Reference Manual (alias the Moonual ) provided in-depth coverage of a number of areas of the Maclisp world. Some parts of that document, however, were never completed (most notably a description of Maclisp's I/O system); other parts are no longer accurate due to changes that have occurred in the language over time. This manual includes some introductory information about Lisp, but is not intended as tutorial. It is intended primarily as a reference manual; particularly, it comes in response to user's please for more up-to-date documentation. Much text has been borrowed directly from the Moonual, but there has been a shift in emphasis. While the Moonual went into greater depth on some issues, this manual attempts to offer more in the way of examples and style notes. Also, since Moon had worked on the Multics implementation, the Moonual offered more detail about compatibility between ITS and Multics Maclisp. While it is hoped that Multics users will still find the information contained herein to be useful, this manual focuses more on the ITS and TOPS-20 implementations since those were the implementations most familiar to the author."
- "Sunday Morning Edition", December 16, 2007. Online at www.maclisp.info
- "Saturday Morning Edition", M.I.T. Laboratory for Computer Science Technical Report MIT-LCS-TR-295, June 1, 1983.
"This is a mosaic description of PDP-6 LISP, intended for readers familiar with the LISP 1.5 Programmer's Manual or who have used LISP on some other computer. Many of the features, such as the display, are subject to change. Thus, consult a PDP-6 systems programmer for any differences which may exist between LISP of Oct. 14, 1966 and present LISP on the system tape."
[Steele and Gabriel 1993] note: "The report does not bear the author's name, but Jeffrey P. Golden [Golden 1970] attributes it to Jon L White."
- Joseph Weizenbaum. The FUNARG Problem Explained. Massachusetts Institute of Technology, March 1968, 56 pages. From Herbert Stoyan Collection on LISP Programming, Accession number 102720700. PDF
- Joel Moses. The Function of FUNCTION in LISP or Why the FUNARG Problem Should be Called the Environment Problem. AI-199, MAC-M-428, Project MAC, Massachusetts Institute of Technology, June 1970, 15 pages. PDF at MIT
- Richard J. Fateman. Reply to an editorial. ACM SIGSAM Bulletin, Issue
25, March 1973, pages 9-11. ACM DL
"This reports the results of a test in which a compiled MacLisp floating-point program was faster than equivalent Fortran code. The numerical portion of the code was identical and McLisp used a faster subroutine-call protocol." [Steele and Gabriel 1993]
- Guy Lewis Steele, Jr. Data Representations in PDP-10 MacLISP. AI Memo 420, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, September 1977, 13 pages. PDF at MIT
- Guy Lewis Steele, Jr. Fast Arithmetic in MacLISP. AI Memo 421,
Artificial Intelligence Laboratory, Massachusetts Institute of Technology,
September 1977, 11 pages.
"This paper was presented at the MACSYMA Users Conference, Berkeley, California, July 1977."
- Jon L. White. LISP: Program is Data: A Historical Perspective on MacLISP. Proceedings of the 1977 MACSYMA Users' Conference. NASA Scientific and Technical Information Office (Washington, D.C., July 1977), pages 181-189. PDF Entire proceedings at nasa.gov
- Adolfo Guzmán. Decomposition of a Visual Scene into Bodies. Artificial
Intelligence Memo 139, Project MAC Memorandum MAC-M-357, Massachusetts
Institute of Technology, September 1967, 47 pages.
"A shorter but improved version of this memorandum has been published: 6. Guzmán, A. Decomposition into Three-Dimensional Bodies. AFIPS Proceedings of the 1968 Fall Joint Computer Conference. Thompson Book Co., Washington, D.C."
- Stephen Smoliar. EUTERPE-LISP: A LISP System with Music Output. Artificial Intelligence Memo 141, Project MAC, Massachusetts Institute of Technology, September 1967, 16 pages. PDF at MIT
- Ira Goldstein. Pretty Printing : Converting List to Linear Structure.
Artificial Intelligence Memo 279, Massachusetts Institute of
Technology, February 1973. PDF PDF at MIT
"Pretty-printing is the conversion of the list structure to a readable format. This paper outlines the computational problems encountered in such a task and documents the current algorithm in use."
- Ira Goldstein, Henry Lieberman, Harry Bochner and Mark Miller. LLOGO: An Implementation of LOGO in LISP.
LOGO Memo 11, Massachusetts Institute of
Technology. PDF at MIT
- Artificial Intelligence Memo 307, June 27, 1974, 89 pages. PDF at MIT
- Artificial Intelligence Memo 307A, revised March 4, 1975, 89 pages. PDF at MIT
"This paper describes LLOGO, an implementation of the LOGO language written in MACLISP for the ITS, TEN50 and TENEX PDP-10 systems, and MULTICS. The relative merits of LOGO and LISP as educational languages are discussed. Design decisions in the LISP implementation of LOGO are contrasted with those of two other implementations: CLOGO for the PDP-10 and 11LOGO for the PDP-11, both written in assembler language. LLOGO's special facilities for character-oriented display terminals, graphic display 'turtles', and music generation are also described."
- Richard Bogen, Jeffrey Golden, Michael Genesereth, and Alexander Doohovskoy. MACSYMA Reference Manual. The MATHLAB Group, Laboratory for Computer Science, Massachusetts Institute of Technology, Version 9, Second Printing, December 1977, v+308+x pages. PDF at bitsavers.org
"Version II Lisp was known as 'Multics MacLisp' (From 'Project MAC'.) The need for it arose from the MIT Mathlab group's (part of project MAC, later Laboratory for Computer Science) 'Macsyma' program, which was written in Lisp, hitting against the address space constraints of the PDP-10 systems on which it was developed. The large virtual memory of Multics seemed to indicate the latter as a logical migration platform, so Multics MacLisp was developed to support Macsyma.
Multics MacLisp was designed to be compatible with the large, mature, and heavily used 'MACLISP' dialect in use on the PDP-10's throughout the AI Lab and MAC, and implemented between 1970 and 1973. Reed, then an undergraduate at MIT in the Multics group, started the project by modifying Version I Lisp, writing largely in PL/I. Ultimately, several of the most performance-critical sections, most notably the evaluator, were rewritten in a tour-de-force of ALM (Multics Assembler) by Dave Moon. Almost all of the implementation was done by Daves Moon and Reed and Alex Sunguroff; Moon was working in the MIT Undergraduate Research Opportunities program; Sunguroff, who worked on the I/O system, was a paid employee. Dan Bricklin, later of VisiCalc fame, worked on the BIGNUM (arbitrary-precision integer arithmetic) package.
The Multics MacLisp Compiler, initially designed and written by Reed alone, was a full-scale Lisp Compiler producing standard Multics object segments (which nonetheless had to be run from within the Lisp subsystem). Its two phases, semantics and code generation, both written in Lisp, were derived in conception and strategy from COMPLR/NCOMPLR, the renowned and powerful compiler on the PDP-10. While the code generator was written from scratch, the semantics phase was ported and adapted from PDP-10 MacLisp. Reed's code generator employed a subset of NCOMPLR's powerful data-flow techniques. [A 1977 paper on The Multics MacLisp Compiler by Bernard Greenberg is available at this web site.] A 'LAP' (intrinsic Lisp assembler program) was written a couple of years later by Moon.
Although Macsyma was ported to Multics, it was not a further impetus for much Multics Lisp development thereafter. The cause of Multics Lisp was taken up by Bernard Greenberg, who had just come to Honeywell (1974) after having been attracted to Lisp while sharing an office with Moon at MIT. Greenberg, who was involved with the development and continuation of the Multics Supervisor, implemented a Multics post-mortem crash-analysis program, ifd (interpret_fdump) in Multics Lisp, which in subsequent years achieved wide distribution and following in the Multics Community. While the 'official language' status of PL/I actively and openly discouraged experimentation with other languages, the interactive, extensible nature of ifd did much to attract attention to Lisp in the Multics development and site support communities.
From that time until his departure from Honeywell in 1980, Greenberg took over maintenance of Multics Lisp, adding features as he needed. Moon still contributed major features on occasion.
Largely as a consequence of the ifd experience, Greenberg chose Multics Lisp as the implementation and extension vehicles for Multics Emacs (1978), which drew attention to Lisp from all over the Multics community and to Multics from all over the Lisp community. Multics Emacs elevated Multics MacLisp to criticality in a highly visible and significant Multics offering. Multics Emacs' (see separate section) highly successful use of Lisp as (inter alia) an extension language inspired the use of Lisp as such by later generations of Emacs (e.g., GNU)." [Bernard Greenberg at multicians.org]
- Multics lisp source as of MR 12.5, November 1992. Online at Multics Internet Server
- Same files, extracted via mxarc (written by Jim Homan and Olin Sibert) and repacked as ZIP archives:
- Michael Levin. Proposed Instructions on the GE 635 for List Processing and Push Down Stacks. Memo 72, Artificial Intelligence Project, Memorandum MAC-M-183, Project MAC, Massachusetts Institute of Technology, September 18, 1964, 4 pages. PDF at MIT
- Jerome C. Yochelson. Multics LISP. Unpublished, Massachusetts Institute of Technology, Cambridge, Massachusetts, 1967.
- See Moon 1974.
- Bernard S. Greenberg. The Multics MACLISP Compiler : The Basic Hackery -- a Tutorial. Unpublished, December, 1977. Online at www.multicians.org
- Alan Bawden, Glenn S. Burke, and Carl W. Hoffman.
MacLisp Extensions. Project MAC Memorandum
MAC-TM-203, July 1981. PDF
"This document describes a common subset of selected facilities available in Maclisp and its derivatives: PDP-10 and Multics Maclisp, Lisp Machine Lisp (Zetalisp), and NIL. The object of this document is to aid people in writing code which can run compatibly in more than one of these environments."
- See also: [Stallman 2002] under Emacs Lisp
- Robert R. Fenichel and Jerome C. Yochelson. A LISP garbage-collector for virtual-memory computer systems, Communications of the ACM, Volume 12, Issue 11, November 1969, pages 611-612. ACM DL
- Bernard Greenberg, with contributions from Daves Moon and Reed and Carl Hoffman. Multics MacLisp. Section 1.7.10 of: Tom Van Vleck, editor. Multics Software Features. Online at multicians.org
- Brad Parker. MIT CADR Lisp Machine source code.
"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."
- TI Explorer Lisp Machine source code, circa 1991. Online at archive.org
"The Texas Instruments Explorer is a family of Lisp Machine computers. These computers were sold by Texas Instruments in the 1980s. The Explorer is based on a design from Lisp Machines Incorporated, which is based on the MIT Lisp Machine. The Explorer was used for development and deployment of artificial-intelligence software.
Notable is also the early use of the NuBus as the system bus for the Explorer computer family."
- Richard Greenblatt. The LISP Machine. Working Paper 79, M.I.T. A.I. Laboratory, November 1974. PDF at bitsavers.org
- Tom Knight. CONS. Working Paper 88, M.I.T. A.I. Laboratory, November 1974. PDF at bitsavers.org
- The Lisp Machine Group (Alan Bawden, Richard Greenblatt, Jack Holloway, Thomas Knight, David Moon, Daniel Weinreb). LISP Machine Progress Report. Memo No. 444, M.I.T. Artificial Intelligence Laboratory, Massachusetts Institute of Technology, August 1977, 29 pages. PDF at MIT
- Thomas F. Knight, Jr., David A. Moon, Jack Holloway, and Guy L. Steele, Jr. CADR.
AI Memo 528, Artificial Intelligence Laboratory, Massachusetts Institute of
- March 31, 1981, i+79+8 unnumbered pages. PDF at www.heeltoe.com
See also: Brad Parker. Some notes on the MIT CADR "principles of operation". October 17, 2004. Online at www.heeltoe.com
- May 1979, i+1 unnumbered page+42 pages. PDF at MIT
This copy repeats page 17 twice and is missing pages 18 and 24.
Abstract: The CADR machine, a revised version of the CONS machine, is a general-purpose, 32-bit microprogrammable processor which is the basis of the Lisp-machine system, a new computer system being developed by the Laboratory as a high-performance, economical implementation of Lisp. This paper describes the CADR processor and some of the associated hardware and low-level software.
- Lisp Machine Manual.
- Daniel Weinreb and David Moon. Lisp Machine Manual, Preliminary Version. MIT Artificial Intelligence Laboratory, Cambridge, Massachusetts, November 1978, 8+282 pages.
- Daniel Weinreb and David Moon. Lisp Machine Manual, Second Preliminary Version. MIT Artificial Intelligence Laboratory, Cambridge, Massachusetts, January 1979, 5+283 pages. PDF
- Includes: New Window System. May 30, 1980, 28 pages.
- Daniel Weinreb and David Moon. Lisp Machine Manual, Third Edition. MIT Artificial Intelligence Laboratory, Cambridge, Massachusetts, March 1981, 471 pages. PDF at bitsavers.org (31MB)
- Daniel Weinreb and David Moon. Lisp Machine Manual, Fourth Edition. MIT Artificial Intelligence Laboratory, Cambridge, Massachusetts, July 1981, 532 pages. PDF at bitsavers.org (31MB)
- Daniel Weinreb, David Moon, and Richard M. Stallman. Lisp Machine Manual. Fifth Edition, System Version 92, MIT Artificial Intelligence Laboratory, Cambridge, Massachusetts, January 1983, 692 pages. PDF at bitsavers.org
- Richard M. Stallman, Daniel Weinreb, and David Moon. Lisp Machine Manual. Sixth Edition, System Version 99, MIT Artificial Intelligence Laboratory, Cambridge, Massachusetts, June 1984.
- Richard Stallman, Daniel Weinreb, and David Moon. Lisp Machine Window System Manual. Edition 1.1, System Version 95, MIT Artificial Intelligence Laboratory, Cambridge, Massachusetts, August 1983, 261 pages. PDF at bitsavers.org
- Anonymous. ZetaLisp Reference Manual, Symbolics, Cambridge, MA, 1984. [Cited by HOPL.]
- Brad Parker. MIT CADR LISP Machine emulator.
Online at www.unlambda.com
- MIT CADR Lisp Machine Source code. Online at www.unlambda.com
- Brad Parker. Texas Instruments Explorer emulators. Site includes some software. Online at www.unlambda.com
"NIL, intended to be the successor to MacLisp, was designed by Jon L White, Guy L. Steele Jr., and others at MIT, under the influence of Lisp-Machine Lisp, also developed at MIT. Its name was a too-cute acronym for 'New Implementation of Lisp' and caused a certain amount of confusion. NIL was a large Lisp, and efficiency concerns were paramount in the minds of its MacLisp-oriented implementors; soon its implementation was centered around a large VAX assembly-language base.
In 1978, Gabriel and Guy Steele set out to implement NIL on the S-1 Mark IIA, a supercomputer being designed and built by the Lawrence Livermore National Laboratory. This Lisp was never completely functional, but served as a testbed for adapting advanced compiler techniques to Lisp implementation. In particular, the work generalized the numerical computation techniques of the MacLisp compiler and unified them with mainstream register allocation strategies. With the development of the S-1 Lisp compiler, it once again became feasible to implement Lisp in Lisp and to expect similar performance to the best hand-tuned, assembly-language-based Lisp systems." [Steele and Gabriel 1993]
- Brent T. Hailpern and Bruce L. Hitson. S-1 Architecture Manual. Technical Report 161 (STAN-CS-79-715), Department of Electrical Engineering, Stanford University, January 1979. PDF at bitsavers.org
- Glenn Burke. Introduction to NIL. Laboratory for Computer Science, Massachusetts Institute of Technology, March 1983. PDF
- Glenn S. Burke, George J. Carrette, and Christopher R. Eliot. NIL Notes for Release 0.259, Laboratory for Computer Science, Massachusetts Institute of Technology, June 1983. PDF
- Glenn S. Burke, George J. Carrette, and Christopher R. Eliot. NIL Reference Manual corresponding to Release 0.286. Report MIT/LCS/TR-311, Laboratory for Computer Science, Massachusetts Institute of Technology, January 1984. PDF
- Steven Correll. S-1 uniprocessor architecture (sma-4). Volume I, Chapter 4, The S-1 Project 1979 Annual Report, Lawrence Livermore Laboratory, Livermore, California, 1979.
- Jon L. White. NIL: A perspective. Proceedings of 1979 MACSYMA Users' Conference, Washington, D.C., June 1979. PDF
- Rodney A. Brooks, Richard P. Gabriel, and Guy L. Steele Jr. S-1 Common Lisp Implementation. Proceedings of the 1982 ACM symposium on LISP and functional programming, Pittsburgh, 1982, pages 108–113. ACM DL
- Rodney A. Brooks, Richard P. Gabriel, and Guy L. Steele Jr. An optimizing compiler for a lexically scoped LISP. Proceedings of the 1982 Symposium on Compiler Construction, Boston, June 1982, pages 261-275. ACM DL
- Mark Smotherman. S-1 Supercomputer (1975-1988). Web site, last updated April 24, 2004. Online at www.cs.clemson.edu
- NIL is discussed in this article/response pair:
"Franz Lisp was created as a tool to further research in symbolic and algebraic manipulation, artificial intelligence, and programming languages at the University of California at Berkeley. Its roots are in a PDP-11 Lisp system which originally came from Harvard. As it grew it adopted features of Maclisp and Lisp Machine Lisp. Substantial compatibility with other Lisp dialects (Interlisp, UCILisp, CMULisp) is achieved by means of support packages and compiler switches. The heart of Franz Lisp is written almost entirely in the programming language C. Of course, it has been greatly extended by additions written in Lisp. A small part is written in the assembly language for the current host machines, VAXen and a couple of flavors of 68000. Because Franz Lisp is written in C, it is relatively portable and easy to comprehend." [Foderaro et al., The Franz Lisp Manual, June 1983]
"A chorus of students under the direction of Richard Fateman have contributed to building FRANZ LISP from a mere melody into a full symphony . The major contributors to the initial system were Mike Curry, John Breedlove and Jeff Levinsky. Bill Rowan added the garbage collector and array package. Tom London worked on an early compiler and helped in overall system design. Keith Sklower has contributed much to FRANZ LISP, adding the bignum package and rewriting most of the code to increase its efficiency and clarity. Kipp Hickman and Charles Koester added hunks. Mitch Marcus added *rset, evalhook and evalframe. Don Cohen and others at Carnegie-Mellon made some improvements to evalframe and provided various features modelled after UCI/CMU PDP-10 Lisp and Interlisp environments (editor, debugger, top-level). John Foderaro wrote the compiler, added a few functions, and wrote much of this manual. Of course, other authors have contributed specific chapters as indicated. Kevin Layer modified the compiler to produce code for the Motorola 68000, and helped make FRANZ LISP pass 'Lint'." [John K. Foderaro, The Franz Lisp Manual, June 1983]
"... a MacLisp-like Lisp that eventually ran on virtually all Unix-based computers, thanks to the fact that Franz Lisp is written almost entirely in C. Later Franz, Inc., was formed to further Franz Lisp ..." [Steele and Gabriel 1993]
- Franz Lisp Opus 38.92 for VAX. Online at www.cs.berkeley.edu/~fateman
- Franz Lisp Opus 38.93b "The last public domain release available from the ucbvax ftp site before its demise." Online at CMU AI Repository
- See also: Harvard LISP
- John K. Foderaro, Keith L. Sklower, and Kevin Layer. The Franz Lisp Manual. University of California, Berkeley, 1980. Revised 1981, June 1983. PDF
"Spice Lisp provided two significant contributions to the Common Lisp effort. One is the draft Common Lisp manual, which was derived from the Spice Lisp manual (and also borrowed heavily from MIT Lisp Machine Manuals) and the other is a reference implementation. For several years after the appearance of CLtL I, Spice Lisp served as the source, literally, for a number of Common Lisp implementations. Computer companies would take the free source code and port it to their computers, providing a base level Common Lisp." [Steele and Gabriel 1993]
See also CMUCL.
- S. E. Fahlman. Spice LISP Status. Department of Computer Science, Carnegie-Mellon University, Pittsburgh, March 31, 1981. [From Stoyan]
- G. L. Steele, Jr. Spice Lisp Reference Manual. Technical Report, Carnegie Mellon University (interim Spice Lisp documentation), 1981. [Cited in: David S. Touretzky. A comparison of reduction in APL with polyarity in LISP. Proceedings of the International Conference on APL, 1983, pages 259-263. ACM DL]
- S. E. Fahlman, G. L. Steele, G. E. Kaiser, W. van Roggen. Internal Design of Spice Lisp. Doc. S026, Spice Project, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania.
- Skef Wholey, Scott F. Fahlman, and Joseph Ginder. Revised Internal Design of Spice Lisp. Spice Document S026 [Revised], Carnegie-Mellon University, December 20, 1983. Gift of Jon L White. PDF
- Scott E. Fahlman and Monica J. Cellio, editors. Spice Lisp User's Guide. Spice Project, Computer Science Department, Carnegie Mellon University, August 28, 1984. PDF at bitsavers.org
"Companion to the Mary Poppins Edition of the Common Lisp Manual"
- Joseph R. Ginder. An Analysis of the Spice Lisp Instruction Set. Spice Document Sxxx, Spice Project, Department of Computer Science, Carnegie-Mellon University, January 18, 1983. PDF
- Skef Wholey and Scott E. Fahlman. The Design of an Instruction Set for Common Lisp. Proceedings of the 1984 ACM Symposium on LISP and Functional Programming, Austin, Texas, pages 150-158. ACM DL