Interlisp

From HandWiki
Short description: Dialect of the Lisp programming language
Interlisp
ParadigmsMultiparadigm: functional, procedural, object-oriented, declarative, reflective, meta
FamilyLisp
First appeared1968; 56 years ago (1968)
Final release
Medley 2.0 / February 1992; 32 years ago (1992-02)
Implementation languageC
PlatformPDP-10, MOS Technology 6502, Atari 8-bit; Xerox 1100, 1108, 1109, 1186, 1132
OSTENEX, TOPS-20
LicenseProprietary
Influenced by
Lisp, BBN LISP
Influenced
Lisp Machine Lisp

Interlisp (also seen with a variety of capitalizations) is a programming environment built around a version of the programming language Lisp. Interlisp development began in 1966 at Bolt, Beranek and Newman (renamed BBN Technologies) in Cambridge, Massachusetts with Lisp implemented for the Digital Equipment Corporation (DEC) PDP-1 computer by Danny Bobrow and D. L. Murphy. In 1970, Alice K. Hartley implemented BBN LISP, which ran on PDP-10 machines running the operating system TENEX (renamed TOPS-20). In 1973,[1] when Danny Bobrow, Warren Teitelman and Ronald Kaplan moved from BBN to the Xerox Palo Alto Research Center (PARC), it was renamed Interlisp. Interlisp became a popular Lisp development tool for artificial intelligence (AI) researchers at Stanford University and elsewhere in the community of the Defense Advanced Research Projects Agency (DARPA). Interlisp was notable for integrating interactive development tools into an integrated development environment (IDE), such as a debugger, an automatic correction tool for simple errors (via do what I mean (DWIM) software design),[2] and analysis tools.

Adaptations

At Xerox PARC, an early attempt was made to define a virtual machine to facilitate porting, termed the Interlisp virtual machine. However, it was not useful as a basis for porting.

Peter Deutsch defined a byte-coded instruction set for Interlisp, and implemented it as a microcode emulator for the Xerox Alto. This was then ported to a series of workstation designs produced by Xerox for internal use and for commercial exploitation, including on 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 when Larry Masinter was the chief scientist of that group. 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-American National Standards Institute (ANSI) Common Lisp, named Xerox Common Lisp. LOOPS, the object system for Interlisp-D, became, along with Symbolics' Flavors system, the basis for the Common Lisp Object System (CLOS).

In 1974, DARPA awarded a contract to the University of California, San Diego (UCSD) to implement Interlisp on the Burroughs B6700. The motivation was the larger virtual memory addressing space afforded by the B6700 architecture compared to the PDP-10. However, by the time the software was released (1975), the PDP-10's address space had been increased, and Interlisp-10 remained the standard of the day for AI research. The implementors were Bill Gord and Stan Sieler, with guidance from Daniel Bobrow, and under the overall management of Dr. Ken Bowles. UCSD Interlisp included a compiler which emitted "p-code", which was could be intermixed with standard LISP code during interpretation. This p-code appears to have preceded UCSD Pascal p-code by a year or two.

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 Software Distribution (BSD) Unix on the VAX by Stanford University, Information Sciences Institute (ISI) and Xerox PARC, called Interlisp-VAX.[3]

In 1981, Warren Teitelman and Larry Masinter published a paper on Interlisp in IEEE Computer providing an overview of the system and its design philosophy, setting starts used for the platform.[4]

Also in 1981, a variant for the MOS Technology 6502 processor, INTER-LISP/65, was released by Datasoft for the Atari 800. In 1985 to 1987, a team from Fuji Xerox developed an implementation of the microcoded bytecode interpreter in the language C, 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 failed almost immediately.

Interlisp-D release timeline:

  • 1983 – Chorus
  • 1983 – Fugue
  • June 1984 – Carol
  • January 1985 – Harmony
  • 1985 – Intermezzo
  • December 1985 – Koto, first release to support the Xerox 1185/1186 workstation, some support for Common Lisp
  • June 1987 – Lyric, supports Xerox Common Lisp as part of the standard Lisp sysout
  • September 1988 – Medley, for Xerox 1100 and Sun 3 machines
  • February 1992 – Medley 2.0, includes CLOS with MOP, runs on various Unix machines, DOS 4.0, and the Xerox 1186[5]

In 1992, an Association for Computing Machinery (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.

Revitalization

The Medley Interlisp source code and the source code for the virtual machine emulator have both been open-sourced by the Medley Interlisp Project. The system runs on modern hardware/operating systems.

See also

References

  1. "Interlisp Reference Manual". 1993. https://interlisp.org/docs/IRM.pdf. 
  2. Teitelman, Warren (April 1972). ""Do What I Mean": the programmer's assistant". Computers and Automation: 8–11. 
  3. Masinter, Larry M. (1981). Interlisp-VAX: A Report (Report). Stanford University. http://www.softwarepreservation.org/projects/LISP/interlisp/Interlisp-VAX_A_Report.pdf. 
  4. Teitelman, Warren; Masinter, Larry M. (April 1981). "The Interlisp Programming Environment". IEEE Computer 14 (4): 25–33. doi:10.1109/C-M.1981.220410. http://larry.masinter.net/interlisp-ieee.pdf. 
  5. "Lisp FAQ, Commercial Common Lisp Implementations". https://www.cs.cmu.edu/Groups/AI/html/faqs/lang/lisp/part4/faq-doc-2.html. 

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