Interlisp is a programming system. A programming system consists of a programming language, a large number of predefinedprograms (or functions, to use the Lisp terminology) that can be used either as direct user commands or as subroutines in user programs, and an environment that supports the programmer by providing a variety of specialized programming tools. The language and predefined functions of Interlisp are rich, but similar to those of other modern programming languages. The Interlisp programming environment, on the other hand, is very distinctive. Its most salient characteristic is an integrated set of programming tools which know enough about Interlisp programming so that they can act as semi-autonomous, intelligent ";assistants"; ...
Page 1 of 265
THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.
Copyright ©; 1983 Xerox Corporation. All rights reserved. Portions from ";Interlisp Reference Manual"; Copyright ©; 1974, 1975,
1978 Bolt, Beranek & Newman and Xerox Corporation. This publication may not be reproduced or transmitted in any form by any
means, electronic, microfilm, xerography, or otherwise, or incorporated into any information retrieval system, without the written
permission of Xerox Corporation.
Interlisp Reference Manual
October, Copyright © 1983 Xerox Corporation
All rights reserved.
Portions from "Interlisp Reference Manual" Copyright © 1974, 1975, 1978 Bolt, Beranek &
Newman and Xerox Corporation
This publication may not be reproduced or transmitted in any form by any means, electronic,
microfilm, xerography, or otherwise, or incorporated into any information retrieval system,
without the written permission of Xerox Corporation.
BACKGROUND AND ACKNOWLEDGEMENTS
1 A BRIEF HISTORY OF INTERLISP
Interlisp began with an implementation of the Lisp programming language for the PDP-1 at Bolt,
Beranek and Newman in 1966. It was followed in 1967 by 940 Lisp, an upward compatible
implementation for the SDS-940 computer. 940 Lisp was the first Lisp system to demonstrate
the feasibility of using software paging techniques and a large virtual memory in conjunction
with a list- processing system [ Bobrow & Murphy, 1967 ] . 940 Lisp was patterned after the Lisp
1.5 implementation for CTSS at MIT, with several new facilities added to take advantage of its
timeshared, on-line environment. DWIM, the Do-What-IMean error correction facility, was
introduced into this system in 1968 by Warren Teitelman [ Teitelman, 1969 ] .
The SDS-940 computer was soon outgrown, and in 1970 BBN-Lisp, an upward compatible Lisp
system for the PDP-10, was implemented under the Tenex operating system. With the hardware
paging and 256K of virtual memory provided by Tenex, it was practical to provide more
extensive and sophisticated user support facilities, and a library of such facilities began to
evolve. In 1972, the name of the system was changed to Interlisp, and its development became
a joint effort of the Xerox Palo Alto Research Center and Bolt, Beranek and Newman. The next
few years saw a period of rapid growth and development of the language, the system and the
user support facilities, including the record package, the file package, and Masterscope. This
growth was paralleled by a corresponding increase in the size and diversity of the Interlisp user
community.
In 1974, an implementation of Interlisp was begun for the Xerox Alto, an experimental
microprogrammed personal computer [ Thacker et al., 1979 ] . AltoLisp [ Deutsch, 1973 ]
introduced the idea of providing a specialized, microcoded instruction set that modelled the
basic operations of Lisp more closely than a general-purpose instruction set could - and as such
was the first true "Lisp machine". AltoLisp also served as a dep...