LISP I
PROGRAMMER'S MANUAL
March 1, 1960
Artificial Intelligence Group
J. MeCarthy
R. Brayton
D, Bdwardo
P. Fox
L, Hodes
D. Luckham
K, Maling
D. Park
S$, Russell
COMPUTATION CENTER
and
* RESEARCH LABORATORY OF ELECTRONICS
Massachusetts Institute of Technology
Cambridge, MassachusettsPreface
LISP I is a programming system for the IBM 704 for comput-
ing with symbolic expressions, It has been used for symbolic
calculations in differential and integral calculus, electric
circuit theory, mathematical logic, and artificial intelligence
This manual contains a full description of the features of
LISP I as of March 1960. The system has a central core based
on a class of recursive functions of symbolic expressions which
should be studied first and if possible used before the more
peripheral features are tried. This core te described in Chap~
ters 2 and 3, and LISP programs can be written and run using
this core provided someone familiar with the operational as-
pects of the system i.e, loaders, tapes etc. 1s available.
Later, the advanced features will be found useful although they
are less neat, and less carefully described
‘This manual applies also to a version of LISP I being pre-
pared for the IBM 709.Acknowledgements
‘This manual was mainly written by Fox on the basis of in-
formation supplied by McCarthy and the authors of specific
sections of LISP.
The overall design of the system is the work of McCarthy.
Certain ideas from Fortran, Gelernter's FLPL, Newell, Shaw and
Simon's IPL, and N. Rochester were used
‘The APPLY operator was written by Russell starting from a
preliminary LISP version by McCarthy.
The print and read programs were written by McCarthy and
Maling, respectively.
The garbage collector was written by Edwards,
‘The parts of the system dealing with algebraic calcula-
tions and floating-point numbers were written by N, Rochester,
S. Goldberg and Edwards.
The compiler was written by Brayton with the assistance
of Park.
‘The flexo-system was written by Edwards and Luckham.
All the listed authors contributed to the collection of
functions available with the system.
Suggestions on the contents of the manual were contributed
by P. Abrahams, J. Slagle, and R. Silver,
The secretarial work was done by Mrs, Marcia Webber,