Personal tools
You are here: Home Projects LISP Interlisp family
Document Actions

Interlisp family

by Paul McJones last modified 2024-04-28 14:55

INTERLISP Reference Manual

Previous: LISP 2 family - Up: LISP - Next: MacLisp family

 

 

Basic PDP-1 LISP

L. Peter Deutsch developed PDP-1 LISP at M.I.T.:

"I wrote PDP-1 Lisp because I had a strong mathematical bent, I'd become intrigued with the Lisp language as a result of having somehow picked up a copy of the original Lisp 1.5 Programmer's Manual at MIT, and I wanted to have an interactive Lisp implementation to play with rather than having to submit card decks at the M.I.T. Computation Center. (Bear in mind that I was in high school at the time -- 1960-1964.) I'd ingratiated myself with the folks at the TX-0 (and later PDP-1) lab at M.I.T., so I had pretty free access to the machine there." [L. Peter Deutsch, quoted in lisp_doc.txt accompanying Bob Supnik's Software Kit]

 

Source code

  • L. Peter Deutsch and Edmund C. Berkeley. The LISP Implementation for the PDP-1 Computer. March 1964, pages 326-375 in Berkeley and Bobrow. PDF
  • Describes Basic PDP-1 LISP in detail, including full PDP-1 assembly language source code.

  • Anonymous. LISP. Memo PDP-36, Electrical Engineering Department, Massachusetts Institute of Technology, May 20, 1966, 59 pages. PDF at bitsavers.org
  • Documentation and listing.

  • A machine-readable version has been recreated from the book, and made to run on Bob Supnik's SIMH PDP-1 simulator -- see http://simh.trailing-edge.com/software.html .

 

Documentation

  • L. Peter Deutsch. PDP-1 Lisp. Research Laboratory for Electronics, Massachusetts Institute of Technology, 4 pages. PDF at bitsavers.org

    "A program has been written for the PDP-1 providing a subset of the features of the LISP interpreter for the IBM 709/7090. This program, which contains no known bugs, will run on any PDP-1 with automatic divide. On machines with more than 4K of memory, it must be run in memory field 0.

    It is assumed that the reader is familiar with 709 LISP in general and with the LISP 1.5 Programmer's Manual in particular."

  • P. Deutsch. Preliminary Guide to the LISP Editor. Project Genie Document W-21, University of California, Berkeley, April 18, 1967. PDF

    "The editor described here is implemented within the PDP-l and SDS 940 time-sharing LISP systems, but can be used with minor changes within any LISP system which includes the capabilities of LISP 1.5. It was begun by the author in 1965 and later extended by Bobrow and Teitelman at BBN."

 

Applications

  • Bernie Cosell. ELIZA with DOCTOR script. July 1966. Online at elizagen.org and github.com

    James Markovitch's transcription of the paper tapes of the source code for Bernie Cosell's LISP implementation of ELIZA with the DOCTOR script, which in turn was based on Joseph Weizenbaum's 1966 CACM paper.

 

SDS 930 LISP

  • L. Peter Deutsch and Butler W. Lampson. 930 LISP Reference Manual. Project Genie Document 30.50.40, University of California, Berkeley, revised November 16, 1965. PDF at bitsavers.org

 

BBN-LISP

The first LISP at Bolt Beranek and Newman Inc. was influenced by L. Peter Deutsch's Basic PDP-1 LISP:

"... my PDP-1 Lisp implementation, as you probably know, was extensively rewritten at BB&N to become the conceptual predecessor of BBN-Lisp, which in turn engendered Interlisp" [L. Peter Deutsch, quoted in lisp_doc.txt accompanying Bob Supnik's Software Kit]

"Bobrow and Murphy started with the LISP 1.5 definition and looked at Deutsch's code for the PDP-1b, but their implementation had a completely new code base for what they called BBN-LISP. [Bobrow et al. February 1966] Murphy says,

`. . . one of the things we did was build a timesharing LISP system on the PDP-1 — that is, a multi-user system for which the primary (and only) interface language was LISP. It was both the command language and the programming language, a la JOSS and such systems of that day.'

In their PDP-1b implementation of LISP, Bobrow and Murphy grappled with issues of supporting a large LISP memory on a machine with a small physical memory. [Bobrow and Murphy 1967]

In particular, Murphy implemented a software-based virtual memory and demand paging system[Dan Murphy in Origins and Development of TOPS-20] within his LISP implementation, and Bobrow and Murphy studied its performance. [Bobrow and Murphy 1968]"
[Walden and Nickerson, A Culture of Innovation: Insider Accounts of Computing and Life at BBN, 2011]

 

Source code

Dan Murphy had an extensive archive of old sources for BBN LISP (and many other things including TENEX, TELCOMP, and TECO), but the disk pack containing them fell victim to an overzealous sysadmin in 1987. He still has a set of files in LISP and PDP-10 assembly language. [Personal communication to Paul McJones, 10 March 2005.]

 

Documentation

  • Daniel G. Bobrow, D. Lucille Darley, Daniel L. Murphy, Cynthia Solomon, and Warren Teitelman. The BBN-LISP System. Scientific Report No. 1., Project No. 8668, Contract No. AF19(628)-5065, BBN Report 1346, Bolt, Beranek and Newman Inc., Cambridge, Massachusetts, February 1966, 82 pages. Gift of Robert R. Fenichel. PDF

    This report describes the LISP system for a PDP-1 with 8392 18-bit words of 5 microsecond core memory and 92,312 words on a drum with an average access time of 16.5 milliseconds. It describes the internal structure including paging and binding techniques. Section III defines all the standard functions; Section IV gives the source code of all the standard functions implemented in LISP.

  • D. G. Bobrow and W. Teitelman. Format-Directed List Processing in LISP. Scientific Report #3, BBN Report 1366, April 1, 1966. PDF (originally from dtic.mil)
  • Daniel G. Bobrow [and Daniel L. Murphy]. Preliminary Specification for BBN 940 LISP. [Bolt, Beranek and Newman Inc.,] October 13, 1966, 16 pages. Gift of Robert R. Fenichel. PDF
  • D. G. Bobrow, L. P. Deutsch, and D. L. Murphy. General Structure of LISP 1.69. 940 LISP Memo 1, [Bolt, Beranek and Newman Inc.,] March 23, 1967, 24 pages. PDF at bitsavers.org
  • Warren Teitelman. Recent Improvements to 940 LISP Library. 940 LISP Memo 2, [Bolt, Beranek and Newman Inc.,] April 10, 1967, 6 pages. PDF at bitsavers.org
  • Daniel G. Bobrow, D. Lucille Darley, L. Peter Deutsch, Daniel L. Murphy, and Warren Teitelman. The BBN 940 LISP System. Scientific Report No. 9, Bolt Beranek and Newman Inc., July 15, 1967. PDF

    "This report describes the LISP system implemented at BBN on the SDS 940 Computer. This LISP is an upward compatible extension of LISP 1.5 for the IBM 7090, with a number of new features which make it work well as an on-line language. These new features include tracing, and conditional breakpoints in functions for debugging and a sophisticated LISP oriented editor. The BBN 940 LISP SYSTEM has a large memory store (approximately 50,000 free words) utilizing special paging techniques for a drum to provide reasonable computation times. The system includes both an interpreter, a fully compatible compiler, and an assembly language facility for inserting machine code subroutines."

  • W. Teitelman. Design and Implementation of FLIP, a LISP Format Directed List Processor. BBN Report 1495, July 1, 1967. PDF
  • D. G. Bobrow, D. L. Murphy, and W. Teitelman. The BBN-LISP System : Reference Manual. Bolt Beranek and Newman Inc., April 1969. Computer History Museum: gift of Johns F. ("Jeff") Rulifson, Lot X6502.2012. PDF at bitsavers.org

    "This document describes the BBN-LISP system currently implemented on the SDS 940."

  • W. Teitelman, D. G. Bobrow, A. K. Hartley, and D. L. Murphy. BBN-LISP : TENEX Reference Manual. Bolt, Beranek and Newman Inc., Cambridge, Massachusetts, July 1971. Computer History Museum: gift of Larry Masinter, Lot X6058.2011. PDF
  • W. Teitelman, D. G. Bobrow, A. K. Hartley, and D. L. Murphy. BBN-LISP : TENEX Reference Manual. Bolt, Beranek and Newman Inc., Cambridge, Massachusetts, first revision, February 1972.
  • W. Teitelman, D. G. Bobrow, A. K. Hartley, and D. L. Murphy. BBN-LISP : TENEX Reference Manual. Bolt, Beranek and Newman Inc., Cambridge, Massachusetts, second revision, August 1972. PDF at bitsavers.org

 

Papers

  • Daniel G. Bobrow and Daniel L. Murphy. Structure of a LISP system using two-level storage.
    • Scientific Report No. 6, Bolt Beranek and Newman Inc., 4 November 1966. Online at dtic.mil
    • Communications of the ACM, Volume 10, Issue 3, March 1967, pages 155-159. ACM DL

    "Abstract: In an ideal list-processing system there would be enough core memory to contain all the data and programs. Described in this paper are a number of techniques that have been used to build a LISP system utilizing a drum for its principal storage medium, with a surprisingly low time penalty for use of this slow storage device. The techniques include careful segmentation of system programs, allocation of virtual memory to allow address arithmetic for type determination, and a special algorithm for building reasonably linearized lists. A scheme for binding variables is described which is good in this environment and allows for complete compatibility between compiled and interpreted programs with no special declarations."

    Describes BBN LISP on a Digital Equipment Corporation PDP-1 with a core memory of 16K 18-bit words (5 microseconds access time) and a drum memory of 88K words (17 milliseconds average access time).

  • Daniel G. Bobrow and Daniel L. Murphy. A note on the efficiency of a LISP computation in a paged machine. Communications of the ACM, Volume 11, Issue 8, August 1968, pages 558, 560. ACM DL

    "Abstract: The problem of the use of two levels of storage for programs is explored in the context of a LISP system which uses core memory as a buffer for a large virtual memory stored on a drum. Details of timing are given for one particular problem."

    Discusses BBN LISP on the SDS 940, which had 16K of 24-bit core memory and 1M words of drum memory (17 milliseconds average access time).

  • Dan Murphy. TENEX and TOPS-20 Papers. Online at www.opost.com/dlm/tenex

    TENEX and TOPS-20 were popular operating systems for running LISP. See especially Origins and Development of TOPS-20 for extensive background on the PDP-6, PDP-10, LISP, and more.

 

Applications

  • L. Peter Deutsch. PIVOT program verification system.
    • L. Peter Deutsch. An Interactive Program Verifier. Xerox Palo Alto Research Center CSL-73-1, May 1973 (reprinted July 1976). PDF
      "The system described here is organized in a novel manner compared to most other theorem-proving systems. It has a great deal of specific knowledge about integers and arrays of integers, yet it is not 'special-purpose', since this knowledge is represented in procedures which are separate from the underlying structure of the system. It also incorporates some knowledge, gained by the author from both experiment and introspection, about how programs are often constructed, and uses this knowledge to guide the proof process. It uses its knowledge, plus contextual information from the program being verified, to simplify the theorems dramatically as they are being constructed, rather than relying on a super-powerful proof procedure. The system also provides for interactive editing of programs and assertions, and for detailed human control of the proof process when the system cannot produce a proof (or counter-example) on its own."
    • L. Peter Deutsch. PIVOT source listing. Palo Alto Research Center, Xerox Corporation, 1974-1975. PDF

 

INTERLISP

See also: Interlisp-D.

 

Source code

  • 1970's snapshot. Discovered by Madeline Autumn-Rose in a backup from SUMEX-AIM (Stanford University Medical EXperimental computer for Artificial Intelligence in Medicine); identified by Lars Brinkhoff as INTERLISP. ~1974-1975?. Online at github.com/PDP-10/tenex/ and github.com/PDP-10/Interlisp-10/.

    Larry Masinter notes: "This is a pretty early version of Interlisp-10, around 1974. I think we maintained Interlisp-10 until well-after Interlisp-D was going, so maybe 6-10 years later. The .mac files are PDP-10 assembly language."

  • Thomas C. Rindfleisch, archivist. System dumps, SUMEX-AIM.

    Rindfleish notes: "This version of Interlisp should be both TENEX and TOPS20 compatible. It came at a time when lots of work was going on to port Interlisp to other environments, including the VAX and the new personal Lisp machines (Dolphins, etc.). This means little was changing in the TENEX/TOPS20 version." Rindfleisch also has tape images containing various .sav files created from these files.

    • Partial contents of <lisp> directory from a system dump, January 31, 1982. .zip
    • Contents of <lisp> directory from final full dump, February 25, 1983. Also contains lisp.mac.829 from the <lisp> directory from the January 31, 1982 dump. .zip
    • Contents of <lispusers> directory from final full dump, February 25, 1983. .zip
    • Contents of <helpsys> directory from final full dump, February 25, 1983. .zip
  • SDF Public Access UNIX System, archivist. Contents of TWENEX.ORG Interlisp directories, retrieved by Larry Masinter, August 18, 2006.

    Masinter notes: "The TWENEX files seem to have come from Sumex, or at least, there are a lot of sumex-specific files there. The file dates are 1984, the latest seems to be 7-Dec-84. I used 'type a' FTP for the source files and 'type I' retrieval for the binary files, since the PDP-10 is a 9-bit-byte / 36-bit-word machine."

      • Contents of <lisp> directory. .zip
      • Contents of <lispusers> directory. .zip

 

Documentation

 

Applications

  • Douglas Lenat. AM and Eurisko. Online at white-flame.com
    This web page explains how Lenat's source code for AM, Eurisko, and Traveller were discovered at saildart.org afgter Lenat's death, and links to GitHub repositories that have been set up for AM and Eurisko.

 

Papers

  • Warren Teitelman. PILOT: a Step Toward Man-Computer Symbiosis. Ph.D. Thesis. MIT-AI-TR-221, Massachusetts Institute of Technology, September 1966. PDF at MIT

    "Interlisp (and BBN-Lisp before it) introduced many radical ideas into Lisp programming style and methodology. The most visible of these ideas are embodied in programming tools, such as the spelling corrector, the file package, DWIM, CLISP, the structure editor, and MASTERSCOPE.

    The origins of these ideas can be found in Warren Teitelman's PhD dissertation on man-computer symbiosis. In particular, it contains the roots of structure editing (as opposed to "text" or "tape" editing, breakpointing, advice, and CLISP." [Steele and Gabriel 1993]

  • Warren Teitelman. Automated programmering - the programmer's assistant. Proceedings of the Fall Joint Computer Conference, AFIPS, December 1972, pages 915-921. PDF
  • Warren Teitelman. CLISP - Conversational LISP. Proceedings of the Third International Joint Conference on Artificial Intelligence, Stanford University, California, 1973, pages 686-690. PDF
  • Daniel G. Bobrow and Ben Wegbreit. A model and stack implementation of multiple environments. Communications of the ACM, Volume 16 , Issue 10, October 1973, pages 591-603. ACM DL

    "One of the most innovative of the language extensions introduced by Interlisp was the spaghetti stack. The problem of retention (by closures) of the dynamic function-definition environment in the presence of special variables was never completely solved until spaghetti stacks were invented." [Steele and Gabriel 1993]

  • Warren Teitelman. INTERLISP. ACM SIGART Bulletin, Issue 43, December 1973, pages 8-9. ACM DL
  • Warren Teitelman. INTERLISP Documentation. ACM SIGART Newsletter, Issue 44, February 1974, page 10. ACM DL
  • D.G. Bobrow. A Note on Hash Linking. Communications of the ACM, Volume 18, Number 7, July 1975, pages 413-415. ACM DL
  • Robert Bobrow and Mario Grignetti. Interlisp Performance Measurements. Bold Beranek and Newman Inc., Cambridge MA, 1 June 976. Online at archive.org
  • Warren Teitelman. A Display-Oriented Programmer's Assistant. Xerox Palo Alto Research Center, CSL-77-3, 1977. PDF at bitsavers.org
  • Warren Teitelman. A Display-Oriented Programmer's Assistant. Proc. 5th Int. Joint. Conf. Artificial Intelligence, pp. 905-915, 1977. PDF at ijcai.org
  • Larry Melvin Masinter. Global Program Analysis in an Interactive Environment. Ph.D. thesis. Report SSL-80-1, Systems Science Laboratory, Xerox Palo Alto Research Center, Palo Alto, California, January 1980. PDF at larrymasinter.net
  • W. Teitelman and L. Masinter. The Interlisp programming environment. IEEE Computer, Volume 14, Number 4, April 1981, pages 25-34. IEEE Xplore online at larry.masinter.net

 

INTERLISP/FORTRAN: F1, F2, F3 and F4

Influenced by BBN-LISP and then INTERLISP, Mats Nordström and his colleagues at the University of Uppsala in Sweden developed a series of Lisp implementations written in Fortran.

"LISP 1.5 INTERPRETER WRITTEN IN FORTRAN

A simple Lisp 1.5 interpreter has been written in Fortran by Mats Nordström at Uppsala University. The system follows closely the definition of eval given in the Lisp 1.5 User' Manual; in particular, it uses an A-list (rather than a linear stack for variable bindings). Some 'modern' features have been included, such as nospread lambdas and implicit progns.

The interpreter is oriented toward interactive use, but with minor modifications it can be used in batch mode. It is intended for those who want to implement Lisp quickly and provisionally for a new computer, and for tutorial purposes in teaching interpreters and Lisp implementation.

The program is carefully commented and documented. Educational and research institutions can obtain a copy free of charge by writing to the following address: Mats Nordström, Datalogilaboratoriet, Sysslomansgaten 25, S-752 23, Uppsala, Sweden."

[SIGPLAN Notices, Volume 6, Number 5, July 4, 1971, page 6 (News section)] ACM DL

The original motivation was to be able to run Lisp programs on computers elsewhere in Sweden via a remote processing capability; the portability allowed these systems to be ported to various computers at Uppsala and elsewhere. Lisp F1 was compatible with Lisp 1.5 with extensions from BBN Lisp; it was written in Fortran IV and ran on IBM computers. Its development began in January 1970, and it was usable by September 1970; subsequent work increased its performance. Lisp F3 was compatible with INTERLISP, and thus could run many INTERLISP packages such as EDIT, MAKEFILE, BREAK, ADVISE and TRACE. Its development began in 1976. For more detail, see chapter 4 of Herbert Stoyan's book [Online at informatik.uni-erlangen.de via archive.org].

Lisp F2 was a modification of Lisp F1 developed at Clarkson College of Technology (now Clarkson University). It ran on an IBM System/360 Model 44 under 44MFT, a local variant of IBM's PS44 or 44PS through 1976, and then on an IBM 360 model 65 under OS/360 MVT.

Nordström produced a final version, Lisp F4, in the early 1980s; see below.

[What is the relationship, if any, between Nordström's FORTRAN implementations and INTERLISP/360-370?]

 

Source code

  • Mats Nordström and Erik Sandewall. Lisp F1 interpreter. Department of Computer Science, University of Uppsala. Source listing, FORTRAN and LISP, believed to be F1. Gift of Timothy Daly to the Computer History Museum.
  • Mats Nordström and Erik Sandewall. Lisp F1 interpreter. Version slightly modified at the University of Maine to print a different welcome message and to make it work on IBM 360 using FORTRAN G. Gift of Mark Waterbury. lispf1.ftn
  • David W. Bray and Richard D. Valente. Lisp F2 interpreter. Fortran 44MFT operating system for IBM System/360. Clarkson College of Technology, 1 February 1974. Gift of Mark Waterbury.
    • Fortran source listing. PDF
  • Blake McBride. C translation of Mats Nordström's Lisp F4. Online at github.com/blakemcbride/LISPF4

    Nordström supplied to McBride what is believed to be the final snapshot of Lisp F4, from August 22, 1983, with permission to distribute it. McBride includes Nordström's original code absolutely complete and untouched including documentation, Fortran source code, lisp code, etc. -- see the file lispf4.orig in the archive.

 

Documentation

(Most of these items are from Stoyan.)

  • M. Nordström, E. Sandewall and J. Urmi. How to Start Using Uppsala's 3600 LISP System, Report No. 23, Department of Computer Sciences, Uppsala University, August 1969.
  • M. Nordström, E. Sandewall, and D. Breslaw. LISP F1, a FORTRAN Implementation of LISP 1.5. Datalogilaboratoriet, Department of Computer Sciences, Uppsala University, 1971. Online at computerhistory.org
  • G.R. Hoffmann and L. Timner and H. Wallberg. LISP F 1.1 for CDC-3000 L Computer Series. Zentrum f. Datenverarbeitung, Universität Tuebingen, April 1971.
  • G.R. Hoffmann, L. Timner, and H. Wallberg. LISP F1: Interne Beschreibung, Zentrum f. Datenverarbeitung, Universität Tuebingen, 1971?.
  • Mats Nordström. LISP F3 User's Guide. Department of Computer Science, Uppsala University.
    • Technical Report DLU 78/4, Datalogilaboratoriet, June 1978. PDF
    • Technical Report DLU 79/1, Uppsala Programming Methodology and Artificial Intelligence Laboratory, 1979.
    • Technical Report DLU 79/19, Uppsala Programming Methodology and Artificial Intelligence Laboratory, 1979.
  • Mats Nordström. LISP F3: Implementation guide and system description. Datalogilaboratoriet, June 1978. PDF
  • Mats Carlsson. Floating point numbers and arrays in Lisp F3. DLU 79/4, Datalogilaboratoriet, Department of Computer Sciences, Uppsala University, June 1973. Scan provided by Mats Carlsson. PDF
  • Nick Briggs and Andrew Gullen. CP-6 LISP USERS GUIDE. Carleton University Computing Centre, Ottawa, Ontario, CANADA, K1S 586, May 1980. Revised version of: [Nordström 1978]. Computer History Museum: gift of James R. Meehan, Lot X6057.2011. PDF

    CP-6 was an operating system for the Honeywell 6000 series.

 

INTERLISP/360-370

In the mid 1970s at Uppsala University, an implementation of BBN-Lisp/INTERLISP was created for the IBM 360/370; it also ran on compatible computers such as Siemens and some Japanese ones. The main implementor was Jaak Urmi, after consultation with Warren Teitelman. Jim Goodwin moved from BB&N to the research group at Uppsala.

  • Anonymous. INTERLISP/360 and 370 Reference Manual. Uppsala Datacentral, Sweden, 1974.
  • Anders Haraldsson. LISP - details : INTERLISP/360-370. Datacentral, Department of Computer Science, Uppsala University, 1975. PDF

 

Interlisp-11 (PDP-11)

  • Alice K. Hartley. Interlisp-11 Final Technical Report: July 1, 1977 to June 30, 1978. Report No. 4076, Bolt Beranek and Newman Inc., March 1979. Online at dtic.mil

    "CONCLUSIONS

    We have learned that in spite of the limitations of the hardware, i.e., the small number of general registers, 16-bit data paths and ALU, and the limited amount of microcode memory, a viable single-user Interlisp machine can be and has been implemented. We believe that with the addition of another 128K words of memory, and even at current prices ($60K—S70K) , Interlisp—1l provides a cost effective alternative to the large time sharing systems. A very small project at BBN spends $10K per year for computer time for one Interlisp programmer working half time. ..."

 

INTERLISP-VAX

  • Larry M. Masinter. Interlisp-VAX: A Report. Report No. SUN-CS-81-879 (also numbered: HPP-81-14), Department of Computer Science, Stanford University, August 1981. Computer History Museum: gift of Larry Masinter, Lot X6058.2011. PDF online at stanford.edu
  • Raymond Bates, David Dyer, Andrea Ignatowski, Johannes Koomen, Steven Saunders, and Donald Voreck. Interlisp-VAX Users Manual. Interlisp-VAX Project, USC Information Sciences Institute, Marina del Rey, California, December 5, 1982, 57 pages. PDF
  • Raymond L. Bates, David Dyer, and Johannes A.G.M. Koomen. Implementation of Interlisp on the VAX. Proceedings of the 1982 ACM symposium on LISP and functional programming, Pittsburgh, Pennsylvania, United States, 1982, pages 81-87. ACM DL
  • Raymond L. Bates, David Dyer, and Mark Feber. Recent developments in ISI-interlisp. In Proceedings of the 1984 ACM Symposium on LISP and functional programming (LFP '84). Association for Computing Machinery, New York, NY, USA, 129–139. ACM Digital Library

 

Interlisp-D

"I think the right thing to do, when thinking about the history of Interlisp, is to distinguish between INTERLISP, a teletype/interactive terminal timesharing system application, and Interlisp-D, a single user, window/mouse/keyboard, personal workstation system based on a single virtual machine.

INTERLISP ran on Tenex, Tops-20, VAX. There was a 'Jericho' port at BBN. There were discussions of ports to IBM System/360, but I don't think they were real.

INTERLISP programs could generally be ported to Interlisp-D with no changes to source code. Interlisp-D programs were binary compatible; it was possible to suspend and save the state of one of the virtual machines on one workstation (make a 'sysout') and restart it on another. In fact, the software build process consisted of us running a kernel Lisp loader that fired up an initial image, that then used Lisp code to load the rest of the system.

'Alto Lisp' was an interim step in the evolution between INTERLISP and Interlisp-D.

Interlisp-D ran on Dorado (Xerox 1132), Dolphin (Xerox 1100), Dandelion (Xerox 1108), Dandetiger (Xerox 1109), and Daybreak (Xerox 1186), all microcoded machines. The Dandelion and Daybreak used the same microcode, but the other machines were independent. The Dorado and Dolphin implementations had an Alto/BCPL operating system "boot loader", and some kernel OS functions like disk access were implemented in BCPL. The Dandelion and Daybreak machines had microcoded boot loaders.

There was a port of the byte-code interpreter to C started by Fuji Xerox and finished at PARC. The result was a version of Interlisp-D that ran on Suns and Unix. This implementation was later ported to Linux.

At some point during the evolution of Interlisp-D, a full implementation of Common Lisp was included; Interlisp and Common Lisp code shared the same runtime."
[Larry Masinter. Personal communication to Paul McJones, June 9, 2005; update from Nick Briggs, August 31, 2020.]

In 1992, Daniel G. Bobrow, Richard R. Burton, L. Peter Deutsch, Ronald M. Kaplan, Larry Masinter, and Warren Teitelman received the ACM Software System Award:

"For their pioneering work in programming environments that integrated source-language debuggers, fully compatible integrated interpreter/compiler, automatic change management, structure-based editing, logging facilities, interactive graphics, and analysis/profiling tools in the Interlisp system."

 

Documentation

  • Michael Sannella, editor. Interlisp Reference Manual. Xerox Corporation, October 1983. PDF
  • Michael Sannella, editor. Interlisp-D Reference Manual. Xerox Corporation, Koto Release, October 1985.
  • Anonymous. Interlisp-D Release Notes. Xerox Corporation, December 1985. PDF at bitsavers.org

    This describes the Kyoto release, which was followed by the Lyric and final Medley releases.

  • Cynthia Cosic. Interlisp-D: A Friendly Primer. Artificial Intelligence Systems, Xerox Corporation, November 1986. PDF at bitsavers.org
  • Lyn Ann Mears and Ted Rees. Xerox LOOPS, A Friendly Primer. Artificial Intelligence Systems, Xerox Corporation, March 1987. PDF at bitsavers.org
  • Anonymous. Xerox Common Lisp Implementation Notes. Lyric Release, June 1987. PDF at bitsavers.org Index. PDF at bitsavers.org

    "These notes are intended to accompany the Guy L. Steele book, Common Lisp: the Language, which represents the current standard for Common Lisp."

  • Medley Language Reference. Venue, April 1993. PDF at interlisp.org
    • Volume 1: Language
    • Volume 2: Environment Reference
    • Volume 3: I/O Reference

 

Papers and books

  • L. Peter Deutsch. A LISP machine with very compact programs. Proceedings of the Third International Joint Conference on Artificial Intelligence, Stanford University, California, 1973. PDF
  • P. Deutsch. Status report on Alto Lisp. Computer Science Laboratory, Palo Alto Research Center, Xerox Corporation, May 14, 1975. PDF at bitsavers.org
  • L. Peter Deutsch and Daniel G. Bobrow. An efficient, incremental, automatic garbage collector. Communications of the ACM, Volume 19, Issue 9, September 1976, pages 522-526. ACM DL
  • L. Peter Deutsch. Inside Interlisp: Two Implementations. Xerox Palo Alto Research Center, November 26, 1978. PDF
  • L. Peter Deutsch. Experience with a microprogrammed Interlisp system. Proceedings of the 11th annual workshop on Microprogramming, Pacific Grove, California, 1978, pages 128-129. ACM DL
  • Daniel G. Bobrow and Douglas W. Clark. Compact Encodings of List Structure. ACM Transactions on Programming Languages and Systems, Volume 1, Number 2, October 1979, pages 266-286. ACM DL
  • Larry M. Masinter and L. Peter Deutsch. Local optimization in a compiler for stack-based Lisp machines. Proceedings of the 1980 ACM conference on LISP and functional programming, Stanford University, pages 223-230. ACM DL
  • L. Peter Deutsch. ByteLisp and its Alto implementation. Proceedings of the 1980 ACM conference on LISP and functional programming, Stanford University, pages 231-242. ACM DL
  • Richard R. Burton, L. M. Masinter, Daniel G. Bobrow, Willie Sue Haugeland, Ronald M. Kaplan, and B. A. Sheil. Overview and status of DoradoLisp. Proceedings of the 1980 ACM conference on LISP and functional programming, Stanford University, pages 243-247. ACM DL
  • Richard R. Burton, Ronald M. Kaplan, Larry M. Masinter, B.A. Sheil, Alan Bell, Daniel G. Bobrow, L. Peter Deutsch and Willie Sue Haugeland. Papers on Interlisp-D. Report SSL-80-4 revised, Palo Alto Research Center, Xerox Corporation, September 1980, ii+52 pages. PDF
  • Beau Sheil. INTERLISP-D: Further Steps in the Flight from Time-Sharing. ACM SIGART Bulletin, Issue 77, July 1981, pages 31-32. ACM DL

    A version of this paper was included in the revised version of SSL-80-4 revised.

  • Stephen H. Kaisler. INTERLISP The Language and Its Usage. John Wiley & Sons, 1986. PDF at interlisp.org
  • Warren Teitelman. History of Interlisp. In: C. Herzeel, editor. Celebrating the 50th Anniversary of Lisp (Nashville, Tennessee, October 20 - 20, 2008). LISP50. ACM, New York, NY. ACM DL

 

Implementation - commercial

 

Previous: LISP 2 family - Up: LISP - Next: MacLisp family
« October 2024 »
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: