Other Lisps
- LISPITO for IBM 1620 (National Politechnic Institute, Mexico)
- DECUS LISPs for PDP-8 and PDP-11
- Lisp 1.6 for IBM 1130 (Boston Latin School)
- CIMAS (National University of Mexico) LISP
- MTS LISP (Michigan Terminal System, University of Michigan)
- ECSD Lisp (Edinburgh Computer Science Department)
- Harvard LISP for PDP-11
- PDP-11 LISP (Massachusetts Institute of Technology)
- COINS Lisp for VAX/VMS (University of Massachussets Amherst)
- GLISP (Stanford University and University of Texas)
- LispKit Lisp (Oxford University)
- PicoLisp
- muLISP
- P-Lisp (GNOSIS)
LISPITO for IBM 1620 (National Politechnic Institute, Mexico)
- T. Brody. LISPITO: A LISP Processor for the IBM 1620. Centro Nacional de Cálculo, Instituto Politécnico Nacional, Unidad Zacatenco, México, D.F., 1965. PDF
"Preface
The present attempt to create a symbol manipulation language processor for a relatively small computer was made because of the possibility it would offer to open up the field of symbol manipulation to the many groups who do not have a large computer at their disposal. ...
The author would like to acknowledge the help he has received from Mr Harold V. McIntosh, who introduced him to the pleasure of LISP and to whom are due many of the ideas incorporated in LISPITO. ..."
DECUS PDP-8 LISPs
- G. van der Mey and W. L. van der Poel. A LISP Interpreter for the PDP-8. Technical University of Delft, The Netherlands, DECUS Number 8-102a, May 1968. PDF at bitsavers.org
van der Poel was the designer of the early Stantec ZEBRA computer, and van der Mey implemented ALGOL and LISP for the ZEBRA.
- William Neal. LISP-8. Submitted by Ernest Hayden, Speech Communications Research Laboratory, Santa Barbara, California, DECUS Number 8-341, December 16, 1970. PDF at bitsavers.org
"The operating system is relatively small, and programs require less space [than with DECUS 8-102a] since a distinction is made between program and data. This is less flexible and leads to irreconciliable differences between LISP 1.5 and LISP-8, but it is more efficient for a small computer such as a PDP-8."
- LISP-8 paper tape images. Source code and binaries. Gift of Josh Dersh, LIVING COMPUTERS museum + labs. .zip archive
Josh notes: "Attached are paper-tape images; these were punched with bit 8 set so to get useful text out you'll need to strip that off. The documentation suggests they used a modified PAL assembler to build this and that must have been the case as I haven't had much luck getting it to assemble."
- LISP-8 paper tape images. Source code and binaries. Gift of Josh Dersh, LIVING COMPUTERS museum + labs. .zip archive
- Larry Davis. LISP 1.5 Interpreter for PDP-8 with OS/8. Washington University. DECUS Number 8-628. Source and executable versions. Online at dbits.com Online at bitsavers.org
"Modified version of DECUS NO. 8-102A for use under OS/8 (PS/8). OS/8 file input and output is allowed, which enables the user to prepare LISP programs using OS/8 EDIT. Input and output in ASCII. Facilities for writing own code in assembler to be added to the interpreter for evaluation of special functions are provided for."
Modified by Davis on January 28, 1972 and March 9, 1972; modified by Torbjorn Alm, Autocode AB, on May 15, 1973; submitted to DECUS by Robert Hassinger, Liberty Mutual Research Center, Hopkinton, MA.
- Marton Zsenei. LISP-8K. Central Research Institute for Physics, Budapest, Hungary, DECUS Number 8-721, June 1977.
"This is an 8K version of the LISP Interpreter (see DECUS No. 8-102). Only the differences are given in the documentation so it would be well to request the 8-102 write-up as well."
Lisp 1.6 for IBM 1130 (Boston Latin School)
"The basic structure of 1130 Lisp 1.6 is a composite of many features from four Lisp systems: 7090 Lisp, as described in the LISP 1.5 Programmer's Manual; Maclisp, developed at Project MAC at the Massachusetts Institute of Technology (MIT); Multics Lisp, developed on the Multics system at MIT; and Stanford A.I. Lisp, developed at the Stanford Artificial Intelligence Laboratory at Stanford University." [Steele, 1130 Lisp 1.6 User's Guide]
Source code
- Guy L. Steele Jr. Scan of listing. February 14, 1972.
- Part 1. PDF at ibm1130.org
- Part 2. PDF at ibm1130.org
- Fausto Saporito. Transcription of the listing.
- lisp16full.job online at ibm1130.org
- lisp16lerrs.job online at ibm1130.org
- Ray Comas. Transcription of the code, other working files, and running LISP 1.6 image. November 15, 2008. ZIP archive at ibm1130.org
See http://ibm1130.org/sw/lisp for Ray's description of how he produced these files and how to run the code.
Documentation
- Guy L. Steele Jr. 1130 Lisp 1.6 User's Guide : A Guide to the 1130 Lisp 1.6 system implemented for the IBM 1130 by Guy L. Steele Jr.
"The format and contents of this user's guide were borrowed to a great extent from the Stanford A.I. Lisp 1.6 Manual (Lynn H. Quam) as distributed by the Digital Equipment Computer Users Society as DECUS No. 6/10-38A."
- Part 1. PDF at ibm1130.org
- Part 2. PDF at ibm1130.org
CIMAS LISP (National University of Mexico)
"M. Magidin and I wrote an interpreter of Lisp for the B6700 in 1972 which was used mostly in education in several universities." [Raymundo Segovia, personal communication, May 2010]
- M. Magidin and R. Segovia. Manual Preliminar del Sistema LISP B-6700. Comunicaciones Técnicas del CIMAS, Volume III, Number 16, National University of Mexico, 1972.
- Mario Magidin and Raymundo Segovia. Implementation of LISP 1.6 on the B-6700 Computer. Comunicaciones Técnicas del CIMAS, Volume V, Serie B: Investigación, Number 70, National University of Mexico, 1974, 57 pages. PDF
- M. Díaz. Las Funciones Definidas en el Sistema LISP B-6700. Comunicaciones Técnicas del CIMAS (to be published, 1974).
MTS LISP (Michigan Terminal System, University of Michigan)
The Lisp interpreter was written by Bruce Wilcox in order to run the Reitman-Wilcox Go Program. The compiler was written by Carole Hafner.
- Carole Hafner and Bruce Wilcox. LISP/MTS programmers manual. Mental Health Research Institute Communication No. 302, and Information Processing Working Paper No. 21, The University of Michigan, 1974.
- Bruce Wilcox and Carole Hafner. LISP/MTS User's Guide. Department of Computer Science, University of British Columbia, July 23, 1976. PDF
- Richard A. Salisbury, general editor. LISP and SLIP in MTS. Volume 8 of MTS: The Michigan Terminal System. June 1976 (updated January 1983). PDF at bitsavers.org
ECSD LISP (Edinburgh Computer Science Department)
Edinburgh Computer Science Department Lisp, or ECSD LISP, was implemented by N. H. Shelness. It was written in the IMP programming language and ran on the EMAS operating system. The Wikipedia IMP article contains links to a variety of information about IMP, including compilers targetted at modern platforms.
Source code
- N.H. Shelness. LISP for EMAS. Edinburgh Regional Computer Center, IMP source code. Online at history.dcs.ed.ac.uk
- Initialization script. Online at history.dcs.ed.ac.uk
This version contains the annotation "Updated by R.D. Eager University of Kent MCMLXXXII".
Documentation
- N.H. Shelness. The E.C.S.D. LISP manual. Draft of December, 1976.
Harvard LISP
"The LISP shell is based on a Harvard LISP interpreter, running under UNIX on the Yale GEM system." [Ellis, 1980]
"Its roots are in a PDP-11 Lisp system which originally came from Harvard." [Foderaro et al. The Franz Lisp Manual]
Source
- USENET 1977 distribution. Applications/Usenix_77/ug091377.tar.gz in any of the Unix Archive Sites
- Unix 2.9 BSD distribution, University of California Berkeley. .tar.gz at minnie.tuhs.org
See /src/ucb/lisp/ . Differs from USENET 1977 distribution because of edits made by Steve Dyer at the Harvard Science Center in March 1981.
Documentation
- Forrest William Howard, Jr. L110 Programmer’s Manual. Harvard-Radcliffe Student Timesharing System, Science Center, Harvard University, September 28, 1975. PDF
- Forrest Howard. PDP-11 L110 System Description. Harvard-Radcliffe Student Timesharing System, Science Center, Harvard University, May 28, 1975. PDF
- Forrest Howard. lisp.direction. 1975? ASCII
- Lyle Ramshaw, revised by Forrest Howard. An Introduction to ED110. Applied Math 110, Harvard University, March 1974? PDF
- Lyle Ramshaw; revised by Forrest Howard. A User’s Guide to ED110. Applied Math 110, Harvard University, March 1974; revised June 1975. PDF
- Greg Nelson. Documentation for list structure insertion macro (/lib/lisp/mi.tec). ~1974. PDF
PDP-11 LISP (Massachusetts Institute of Technology)
"My first experience with Lisp was when I read the Lisp 1.5 manual in high school. That's when I had my mind blown by the idea that there could be a computer language like that. The first time I had a chance to do anything with Lisp was when I was a freshman at Harvard and I wrote a Lisp interpreter for the PDP-11. It was a very small machine — it had something like 8k of memory — and I managed to write the interpreter in a thousand instructions. This gave me some room for a little bit of data. That was before I got to see what real software was like, that did real system jobs." [Stallman, My Lisp Experiences and the Development of GNU Emacs]
- Richard Stallman et al. LISP11 for PDP-11. .tar.gz at ultimate.com
Phil Budne, the proprietor of ultimate.com, says: "I've put the sources for a PDP-11 LISP called LISP11 whose sources lived (and were cross-compiled) under the MIT ITS O/S for the PDP-10 (I've also included versions of the assembler, and a simulator, with versions I modified to run under TOPS-20)."
COINS Lisp for VAX/VMS (University of Massachussets Amherst)
"CLisp (which was short for COINS Lisp, COINS being the department acronym at the time) didn't have any relation to the C Language (it was a Lisp-1 written in native VAX/VMS Macro-32 assembler and was the first Lisp written for the VAX architecture, predating VaxLisp). It also had no relation to the current CLISP (ANSI Common Lisp), which came later. CLisp faded quickly into obscurity when Lisp in our department moved heavily and early to TI Explorers and CLTL1.
BTW, when we decided we had to develop COINS Lisp ... for VAX/VMS (UMass Amherst had one of the earliest VAX/780 machines delivered--I think it was unit #4 or 5), we needed to move Lisp applications to the new VAX from ALISP ...
Anyway, when the VAX arrived, we looked initially at LISP F3 (FORTRAN-based Interlisp dialect) to see if it could be made feasible, but performance and capability were just not there. The VAX architecture was enough different to make porting PDP dialects difficult. COINS Lisp started from an skeletal representation/evaluator base that George Carrette had written at MIT. COINS Lisp took advantage of the CISC instructions and data representations provided by the VAX architecture (e.g., array representations and indexing instructions, native string representations and instructions, etc.), and it ran very efficiently for that era. The initial DVMT (Distributed Vehicle Monitoring Testbed), a pioneering multi-agent environment was written in COINS Lisp. (GRASPER was also migrated from ALISP to COINS Lisp: fortunately no longer requiring the AVL-tree "graph paging" with the larger virtual-memory on the VAX.)" [Dan Corkill, personal communication, September 3, 2010]
"The code that George provided (very graciously, after a brief conversation with him at MIT) was in the Spring of 1978. (I wish I'd kept better notes and, more importantly the code from those days. The CS Department maintained archival backups for a very long time (over 20 years), but then stopped maintaining them. As I recall, George's code consisted of a basic interpreter, BBOP and low-bit fixnum type tagging, Lisp-1 dynamic binding, and a stop & copy GC (no compiler, as I recall). All this was written entirely in MACRO32 assembly language. It might have been a very early prototype [of VAX NIL], but I'm wondering if it was more of a experimentation vehicle for VMS & MACRO32? (Could it have been a hand translation of some other Lisp interpreter or an environment for playing with some of the Lisp implementation techniques of the era?) In any event, George's generosity of sharing the basic interpreter was what I needed to get buy-in in the Department to build our own system rather than waiting for someone else to do a high-performance Lisp for the VAX. It didn't take long after we had COINS Lisp ready (with its compiler) to entice users of ALISP to port their code over to COINS Lisp." [Dan Corkill, personal communication, September 10, 2012]
Lisp-1 systems (such as Scheme) have a single namespace for functions and values, while Lisp-2 systems (such as Common Lisp) have separate namespaces for functions and values. [See Gabriel and Pitman, Technical Issues of Separation in Function Cells and Value Cells, 2001.]
- Daniel D. Corkill. CLisp Reference Manual. Department of Computer and Information Science, University of Massachusetts Amherst, Amherst, Massachusetts, 1980. (Periodically revised through 1984.)
- Victor R. Lesser and Daniel D. Corkill. The Distributed Vehicles Monitoring Testbed: A Tool for Investigating Distributed Problem Solving Networks. The AI Magazine, Volume 4, Number 3, Fall 1983, pages 15-33. Online at aaai.org
GLISP (Stanford University and University of Texas)
"GLISP is a large package built on InterLisp that provides a conversational environment in which object-oriented systems can be constructed. It manages context and provides a graphical interface that frees the knowledge system programmer from many low-level programming concerns. GLISP is compiled into LISP using a knowledge base of object descriptions, treating LISP objects and objects in Al representation languages uniformly. This makes program code independent of the data representation used, and permits changes of representation without changing code. Abstract data types and inheritance of properties and behavior from multiple superclasses are supported.
A GLISP Display Inspector/Editor, GEV, was developed as a knowledge-based interactive editor for use on a Lisp machine with an high-resolution display. GEV uses GLISP structure descriptions to interpret and intelligently display LISP data, allowing the user to select objects with a mouse and focus attention on objects of interest.
GLISP was built by Professor Gordon Novak of the University of Texas while a visiting faculty member at Stanford. GLISP is fully implemented for the major dialects of LISP and is available over the ARPANET. The technology transfer has been successful, and GLISP is now widely used. ..." [Final Report, Heuristic Programming Project, Stanford University, March 1986]
Source code
- Gordon S. Novak, Jr. Source code for GLISP as adapted to Portable Standard Lisp. Two snapshots, circa 1983. Files provided courtesy of Nelson Beebe. Posted here with permission from Gordon Novak, Jr. .zip archive
- Gordon S. Novak, Jr. Source code for GLISP as adapted to GNU Common Lisp, with other additions. Posted here with permission from Gordon Novak, Jr. .zip archive
Documentation
- Gordon S. Novak, Jr. GLISP Reference Manual. Tech. Rept. HPP82-1, Heuristic Programming Project, Computer Science Dept., Stanford University, November 1982. Online at eric.ed.gov
- Gordon S. Novak, Jr. GLISP User’s Manual. Technical Report TR-83-25, Department of Computer Sciences, University of Texas at Austin. Revised version describes 2019 version of source code. PDF
Papers
- Gordon S. Novak, Jr. GLISP: A High-Level Language for A.I. Programming. American Association for Artificial Intelligence, Proc. Second National Conference on Artificial Intelligence, Pittsburgh, PA., 1982, 300-331. Online at aaai.org
- Gordon S. Novak, Jr. The GEV Display Inspector/Editor. Tech. Rept. HPP-82-32, Heuristic Programming Project, Computer Science Dept., Stanford University, 1982. PDF at saltworks.stanford.edu
- Gordon S. Novak, Jr. Knowledge-Based Programming in GLISP. Proc. Third National Conference on Artificial Intelligence, American Association for Artificial Intelligence, Washington, D.C., 1983. Online at aaai.org
- Gordon S. Novak, Jr. Data abstraction in GLISP. In: Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems (SIGPLAN '83). ACM, New York, NY, USA, 170-177. ACM Digital Library - PDF at stacks.stanford.edu
- Gordon S. Novak, Jr. GLISP: A Lisp-based Programming System with Data Abstraction. The AI Magazine, vol. 4, no. 3 (Fall 1983), pages 37-47. Online at aaai.org - Online at cs.utexas.edu
LispKit Lisp (Oxford University)
"LispKit is the portable implementation technique for a purely functional programming language, LispKit Lisp. The implementation consists of a small virtual machine, and a corpus of language support software, itself written in LispKit Lisp. It is the size and simplicity of the virtual machine which gives the implementation its portability.
The language is a dialect of the Lisp language and shares two of the most powerful features of that language: the universal structured type, the list; and s-expression syntax which is both expressive and easily manipulated by program. It differs from full Lisp in that all LispKit programs must be written in a functional style, since there are no language primitives for updating data structures. The absence of destructive assignment greatly improves the intelligibility of programs, and is held to improve programmer productivity, by simplifying the creation and maintenance of correct programs.
...
Generally speaking, subexpressions are evaluated only if their values become necessary in the evaluation of a larger expression. This means that infinite values - for example the list of all the numbers, or of all the digits in the decimal expansion of an irrational number - may be handled in a natural way."
[Henderson et al. 1983]
Documentation and source
- Peter Henderson. Functional Programming : Application and Implementation. Prentice Hall International, 1980.
- Peter Henderson‚ Geraint A. Jones and Simon B. Jones. The LispKit Manual. Oxford University Computer Laboratory Programming Research Group, 1983.
"The principal text both on the LispKit implementation, and on the LispKit Lisp dialect, and a useful introduction to this manual, is Functional Programming: Application and Implementation ... . It describes a virtual machine and a language slightly different from those described in this manual, but familiarity with the system described in the book will help in an understanding of the current system, especially so if it is intended to make any changes to the virtual machine or to the system support software." [Henderson et al. 1983]
- Volume 1. Reference manual for the language, library, and utilities; implementation guides for the virtual machine. Technical Monograph PRG-32(1). Online at cs.ox.ac.uk
- Volume 2. Source code for examples, libraries, and implementations of LispKit virtual machine. Technical Monograph PRG-32(2). Online at cs.ox.ac.uk
- Source code distribution. .tar.gz (downloaded 13 May 2005) .tar.gz at ftp.comlab.ox.ac.uk
Additional implementations
- Aaron Gray. LispKit GNU Pascal Port. Online at cybercomms.org via Internet Archive
Gray updated the original Pascal implementation to run under GNU Pascal. At his web site he also has C and JavaScript versions.
- secd.pas, libraries, utilities, and examples. .tar.gz .tar.tz at cybercomms.org via Internet Archive
- Precompiled binary for Windows. .EXE .EXE at cybercomms.org via Internet Archive
PicoLisp
PicoLisp is a minimalist Lisp (dynamic binding, interpreted, three datatypes: atoms, symbols, and lists) with a rich library (including persistent objects, Prolog-like declarative language, and template-based abstract GUI) supporting its use as a general application server. It was created by Alexander Burger starting in the late 1980s; Jon Kleiser contributed the OpenGL library.
Source
- Alexander Burger. 8kLisp circa 1986-1987. CP/M program. .tar.gz
- Alexander Burger. Camballage. Includes PicoLisp circa 1991, embedded in a CAD application to control a laser cutter. X11/SCO Unix program. .tar.gz
- Alexander Burger. Isar. Includes PicoLisp circa 1993, embedded in an image processing application. Mac OS program. .tar.gz
- Alexander Burger. PicoLisp circa 1994. MS-DOS program. .tar.gz
- Alexander Burger. PicoLisp releases 2.0 - 3.1.0, 2002-2012. online at software-lab.de
Documentation
- Alexander Burger. PicoLisp Documentation. Manpage, reference manual, FAQ, tutorial, etc. online at picolisp.com
Papers
- Alexander Burger. Pico Lisp: A Radical Approach to Application Development. June 26, 2006. Updated version of paper presented at 1st European Lisp and Scheme Workshop, Oslo, 2004. PDF at software-lab.de
muLISP
Albert O. Rich and David R. Stoutemyer developed a series of microcomputer LISP implementations serving as an implementation language for a series of computer algebra applications, namely muSIMP, muMATH, and DERIVE. A version of muLISP was distributed for a time as Microsoft LISP.
"A Brief History of muLISP
muLISP-80 represents the culmination of 4 years of effort into designing a general purpose LISP system. It was developed almost entirely on microcomputers for microcomputers. The original interpreter was completed in 1977 by Albert O. Rich using LISP 1.5 as a guide. It was intended solely for use in mechanical theorem proving, specifically for the propositional and predicate calculus of formal logic. This system, now called muLISP-77, worked quite well for this purpose, although somewhat slowly.
Through the foresight of David R. Stoutemyer, it became apparent that the potential uses for a microcomputer LISP were tremendous. In particular the possibility of implementing for the first time a symbolic mathematics system on a microcomputer was set as a goal. Influenced by the invaluable suggestions of Martin Griss and Peter Deutsch, joint work by Rich and Stoutemyer yielded a greatly enhanced and robust LISP system. It included infinite precision arithmetic, streamed disk file I/O, and a powerful function body evaluation mechanism. This was released in June of 1979 as muLISP-79 by The Soft Warehouse, a partnership set up by Stoutemyer and Rich to facilitate the widespread distribution of the software.
The success of muLISP-79 and its companion product — the muSIMP/muMATH-79 [tm] Symbolic Math system — encouraged further work on improving the systems. The need for greater code density and faster loading capability resulted in the addition of a pseudo-code compiler and interpreter for the muLISP-80 system. A major effort went into making the documention for muLISP-80 of the same high caliber as the software. The clarity and completeness of this manual is due in large part to the persistence of Joan H. Rich.
Currently work is being done to make muLISP available for other popular micro and minicomputers. The advent of the 16 bit micro-processors will make possible the greatly improved performance and data space sizes required to satisfy the needs of ever larger AI research efforts. We intended to fulfill those needs.”
[Rich 1980]
- See: MuLISP. EDM/2 Wiki - The source for OS/2 developers. Online at edm2.com
- See: MuLISP. Wikipedia. Online at de.wikipedia.org
- See: Microsoft LISP. EDM/2 Wiki - The source for OS/2 developers. Online at edm2.com
Documentation
- Joan H. Rich. muLISP/muSTAR-80 [tm] Artificial lntelligence Development System Reference Manual. The Soft Warehouse, August 1980. PDF at maben.homeip.net via archive.org
P-Lisp
"I co-wrote the manual for an Apple II lisp called P-Lisp, built mainly by Steven Cherry (also at Penn), who formed a company called GNOSIS to sell it." [Jeff Shrager, Personal communication, 14 April 2024]
Documentation
- Jeff Shrager and Steve Bagley. Learning LISP.
- Prentice-Hall, 1984, 200 pages. Includes LISP Functions Disk by Steven Cherry for the Apple II and IIe with 32K and DOS 3.3.
- Jeff Shrager. Online version, 2006. Online at nostoc.stanford.edu via archive.org
- Compressed tar archive (originally at http://venus.deis.unical.it/manuals/llisp/index.html) .tar.gz at nostoc.stanfrd.edu via archive.org
- R. J. Sutcliffe. [Review of Learning LISP (L); Learning LISP Functions Disk, by J. Shrager, S. Bagley, & S. Cherry]. The Mathematics Teacher, 77(9), 722–722. Online at jstor.org
Source and executable code
- Steven Cherry. Listing of P-Lisp source code, version 3.2. Apple II assembler, 1983. Steven Cherry has released it under the MIT License. PDF
- Steven Cherry. P-LISP User's Guide version 3.2 for the Apple II/II+/IIe. 1983. PDF
- Ron Garret, curator. Disk image of P-Lisp. Disk image at flownet.com/ron
- Ron Garret. P-Lisp. Story of creating the disk image. Online at flownet.com/ron
- Unknown curator. GNOSIS Version 3.0 and 3.0.1 disk images, plus a PDF generated by printing pages originally at nostoc.stanford.edu/jeff/llisp. Online at mirrors.apple2.org.za
- David Fifield, curator. Online runnable version of GNOSIS 3.0.1, courtesy of a web-based Apple II emulator. Online at archive.org
To start it and run Eliza, type:
]BRUN LISP
:(LOAD "ELIZA")
:(ELIZA)
]CATALOG lists HELLO, EDTEXT, PIGTEXT, FILIO, HANOITEXT, ELIZATEXT, ELIZA, HANOI, ED, and HIRES.