Interlisp
Interlisp (also seen with a variety of capitalizations) was a programming environment built around a version of the Lisp programming language. Interlisp development began in 1967 at Bolt, Beranek and Newman in Cambridge, Massachusetts as BBN LISP, which ran on PDP-10 machines running the TENEX operating system. When Danny Bobrow, Warren Teitelman and Ronald Kaplan moved from BBN to Xerox PARC, it was renamed Interlisp. Interlisp became a popular Lisp development tool for AI researchers at Stanford University and elsewhere in the DARPA community. Interlisp was notable for the integration of interactive development tools into the environment, such as a debugger, an automatic correction tool for simple errors (DWIM[1] – "do what I mean"), and analysis tools.
Adaptations
At Xerox PARC, there was an early attempt to define a virtual machine to facilitate porting, known as the "Interlisp virtual machine". However, this wasn't useful as a basis for porting.
Peter Deutsch defined a byte-coded instruction set for Interlisp, and implemented it as a microcoded emulator for the Xerox Alto. This was subsequently ported to a series of workstation designs produced by Xerox for both their own use and for commercial exploitation, including the Xerox 1100 (Dolphin), 1108 (Dandelion), 1109 (the floating-point enabled "Dandetiger"), 1186 (Daybreak), and 1132 (Dorado). Interlisp implementations for these were known collectively as Interlisp-D. Commercially, these were sold as Lisp Machines and branded as Xerox AI Workstations; the same designs, but with different software, were also sold under different names (e.g. when running the Viewpoint system, the 1186 Daybreak was sold as the Xerox 6085.) Releases of Interlisp-D were named according to a musical theme, which ended with Koto, Lyric, and Medley. Later versions included an implementation of pre-ANSI Common Lisp, known as Xerox Common Lisp. LOOPS, the object system for Interlisp-D, became, along with Symbolics' FLAVORS system, the basis for the Common Lisp Object System.
The PDP-10 version of Interlisp became Interlisp-10; BBN had an internal project to build Interlisp-Jericho and there was a 1982 port to Berkeley Unix on the VAX by Stanford University, ISI and Xerox PARC, called Interlisp-VAX.[2]
In 1981, Warren Teitelman and Larry Masinter published a paper on Interlisp in IEEE Computer that provides a nice overview of the system and its design philosophy.[3]
Also in 1981 a 6502 variant, INTER-LISP/65, was released by Datasoft for the Atari 800.
In 1985-7, a team from Fuji Xerox developed a C implementation of the microcoded bytecode interpreter, and, together with Xerox AI Systems (XAIS) in Sunnyvale, California, completed the port of the environment and emulator to the Sun Microsystems SPARC 4 architecture. In 1987, XAIS was spun off into Envos Corporation, which almost immediately failed.
In 1992, an ACM Software System Award recognized the team of Daniel G. Bobrow, Richard R. Burton, L. Peter Deutsch, Ronald Kaplan, Larry Masinter, Warren Teitelman for their pioneering work on Interlisp.
References
- ↑ Teitelman, Warren (April 1972), ""Do What I Mean": the programmer's assistant", Computers and Automation: 8–11.
- ↑ Larry M. Masinter (1981). Interlisp-VAX: A Report (Report). Stanford University.
- ↑ Warren Teitelman, Larry M. Masinter. The Interlisp Programming Environment. IEEE Computer, April 1981.
Publications
- Warren Teitelman et al., Interlisp Reference Manual (Xerox tech report, 1974)
- J Strother Moore, The Interlisp Virtual Machine Specification (Xerox tech report, 1976)
- L Peter Deutsch, A LISP Machine with Very Compact Programs (Third Joint Conference on Artificial Intelligence, 1973).
- Kaisler, S. H. 1986 Interlisp: the Language and its Usage. Wiley-Interscience.
External links
- Archived Interlisp documentation at bitsavers.org
- LISPF4 an Interlisp interpreter written originally in Fortran by Mats Nordstrom and ported to C (Windows, Mac OS and Linux) by Blake McBride.
- Interlisp documentation at Computer History Museum.
- AtariAge forum discussion on INTER-LISP/65
- AtariWiki entry for INTER-LISP/65