Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I
In this foundational paper, McCarthy formalizes a system for defining and computing recursive functions on symbolic expressions and uses it to introduce the programming language LISP. He begins by defining a class of symbolic (S-) expressions and a corresponding set of basic functions and predicates, then shows how more complex functions can be built recursively using conditional expressions. The paper presents the notion of a universal function that can interpret symbolic expressions — conceptually similar to a universal Turing machine — and describes how these ideas were embodied in the LISP programming system developed for the IBM 704 to support symbolic manipulation and artificial intelligence research.