Paradigms | Multiparadigm: functional, procedural, object-oriented, declarative, reflective, meta |
---|---|
Family | Lisp |
First appeared | 1968 |
Final release | Medley 2.0 / February 1992 |
Implementation language | C |
Platform | PDP-10, MOS Technology 6502, Atari 8-bit; Xerox 1100, 1108, 1109, 1186, 1132 |
OS | TENEX, TOPS-20 |
License | Proprietary |
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.
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 8-bit computers. 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:
1958 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 1, 1.5, LISP 2(abandoned) | |||||||||||||||
Maclisp | |||||||||||||||
Interlisp | |||||||||||||||
MDL | |||||||||||||||
Lisp Machine Lisp | |||||||||||||||
Scheme | R5RS | R6RS | R7RS small | ||||||||||||
NIL | |||||||||||||||
ZIL (Zork Implementation Language) | |||||||||||||||
Franz Lisp | |||||||||||||||
Common Lisp | ANSI standard | ||||||||||||||
Le Lisp | |||||||||||||||
MIT Scheme | |||||||||||||||
XLISP | |||||||||||||||
T | |||||||||||||||
Chez Scheme | |||||||||||||||
Emacs Lisp | |||||||||||||||
AutoLISP | |||||||||||||||
PicoLisp | |||||||||||||||
Gambit | |||||||||||||||
EuLisp | |||||||||||||||
ISLISP | |||||||||||||||
OpenLisp | |||||||||||||||
PLT Scheme | Racket | ||||||||||||||
newLISP | |||||||||||||||
GNU Guile | |||||||||||||||
Visual LISP | |||||||||||||||
Clojure | |||||||||||||||
Arc | |||||||||||||||
LFE | |||||||||||||||
Hy | |||||||||||||||
Chialisp |
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.
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.
Lisp is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally specified in the late 1950s, it is the second-oldest high-level programming language still in common use, after Fortran. Lisp has changed since its early days, and many dialects have existed over its history. Today, the best-known general-purpose Lisp dialects are Common Lisp, Scheme, Racket, and Clojure.
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture. In a sense, they were the first commercial single-user workstations. Despite being modest in number Lisp machines commercially pioneered many now-commonplace technologies, including effective garbage collection, laser printing, windowing systems, computer mice, high-resolution bit-mapped raster graphics, computer graphic rendering, and networking innovations such as Chaosnet. Several firms built and sold Lisp machines in the 1980s: Symbolics, Lisp Machines Incorporated, Texas Instruments, and Xerox. The operating systems were written in Lisp Machine Lisp, Interlisp (Xerox), and later partly in Common Lisp.
Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especially as the TOPS-10 operating system became widely used.
VAX is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The VAX-11/780, introduced October 25, 1977, was the first of a range of popular and influential computers implementing the VAX ISA. The VAX family was a huge success for DEC, with the last members arriving in the early 1990s. The VAX was succeeded by the DEC Alpha, which included several features from VAX machines to make porting from the VAX easier.
The Xerox Star workstation, officially named Xerox Star 8010 Information System, is the first commercial personal computer to incorporate technologies that have since become standard in personal computers, including a bitmapped display, a window-based graphical user interface, icons, folders, mouse (two-button), Ethernet networking, file servers, print servers, and email.
In aspect and functional programming, advice describes a class of functions which modify other functions when the latter are run; it is a certain function, method or procedure that is to be applied at a given join point of a program.
DWIM computer systems attempt to anticipate what users intend to do, correcting trivial errors automatically rather than blindly executing users' explicit but potentially incorrect input.
UNIX/32V is an early version of the Unix operating system from Bell Laboratories, released in June 1979. 32V was a direct port of the Seventh Edition Unix to the DEC VAX architecture.
In computer programming, Franz Lisp is a discontinued Lisp programming language system written at the University of California, Berkeley by Professor Richard Fateman and several students, based largely on Maclisp and distributed with the Berkeley Software Distribution (BSD) for the Digital Equipment Corporation (DEC) VAX minicomputer. Piggybacking on the popularity of the BSD package, Franz Lisp was probably the most widely distributed and used Lisp system of the 1970s and 1980s.
BBN LISP was a dialect of the Lisp programming language by Bolt, Beranek and Newman Inc. in Cambridge, Massachusetts. It was based on L. Peter Deutsch's implementation of Lisp for the PDP-1, which was developed from 1960 to 1964. Over time the language was expanded until it became its own separate dialect in 1966.
Daniel L. Murphy is an American computer scientist notable for his involvement in the development of TECO, the operating systems TENEX and TOPS-20, and email.
CommonLoops is an early programming language which extended Common Lisp to include Object-oriented programming functionality and is a dynamic object system which differs from the OOP facilities found in static languages such as C++ or Java. Like New Flavors, CommonLoops supported multiple inheritance, generic functions and method combination. CommonLoops also supported multi-methods and made use of metaobjects. CommonLoops and New Flavors were the primary ancestors of CLOS. CommonLoops was supported by a portable implementation known as Portable CommonLoops (PCL) which ran on all Common Lisp implementations of the day.
Daniel Gureasko Bobrow was an American computer scientist who created an oft-cited artificial intelligence program STUDENT, with which he earned his PhD., worked at BBN Technologies (BBN), then was a Research Fellow in the Intelligent Systems Laboratory of the Palo Alto Research Center.
Warren Teitelman was an American computer scientist known for his work on programming environments and the invention and first implementation of concepts including Undo / Redo, spelling correction, advising, online help, and DWIM (Do What I Mean).
The history of the Berkeley Software Distribution began in the 1970s when University of California, Berkeley received a copy of Unix. Professors and students at the university began adding software to the operating system and released it as BSD to select universities. Since it contained proprietary Unix code, it originally had to be distributed subject to AT&T licenses. The bundled software from AT&T was then rewritten and released as free software under the BSD license. However, this resulted in a lawsuit with Unix System Laboratories, the AT&T subsidiary responsible for Unix. Eventually, in the 1990s, the final versions of BSD were publically released without any proprietary licenses, which led to many descendants of the operating system that are still maintained today.
TENEX is an operating system developed in 1969 by BBN for the PDP-10, which later formed the basis for Digital Equipment Corporation's TOPS-20 operating system.
Alice Hartley (1937–2017) was an American computer scientist and business woman. Hartley worked on several dialects of Lisp, implementing multiple parts of Interlisp, maintaining Macintosh Common Lisp, and developing concepts in computer science and programming language design still in use today.
Larry Melvin Masinter is an early internet pioneer and ACM Fellow. After attending Stanford University, he became a Principal Scientist of Xerox Artificial Intelligence Systems and author or coauthor of 26 of the Internet Engineering Task Force's Requests for Comments.
Richard R. Burton is an American computer scientist at Acuitus, who previously worked at Bolt Beranek and Newman, and Xerox PARC. A charter Fellow of the ACM, he was awarded their Software System Award in 1994 for his contributions to Interlisp.