Lisp treats program code and data as the same kind of object

In April 1960 John McCarthy published the paper that defined Lisp, the list-processing language built to manipulate symbols and nested lists rather than just numbers. Lisp drew on Alonzo Church’s lambda calculus, made recursion the natural way to express computation, and treated program code and data as the same kind of object. McCarthy showed that a short function could interpret any Lisp expression, giving a definition of the language in terms of itself. Lisp became the dominant language of artificial intelligence for the next thirty years.

Sources

Last verified June 6, 2026