[erlang-questions] Early history of Lisp

David Hopwood <>
Tue Nov 27 02:05:24 CET 2007


Christian S wrote:
> As far as I understand, lisp started out being a theoretical model
> used to describe/reason about programs, until someone figured out it
> would be easy to make a computer evaluate them.

That's widely believed, but apparently someone (Mark Miller or Alan Karp,
I think) put this to John McCarthy, in the context of asking why the
original Lisp used dynamic scoping rather than, as the lambda calculus
does, lexical scoping.

McCarthy said (paraphrased) that Lisp was designed as a practical
programming language from the start; it was based loosely on the
lambda calculus, but deviated from it in ways that were specifically
intended to make the language easier to implement and more useful for
programming, including mutable state and dynamic scoping.

This is consistent with well-informed histories of Lisp such as
<http://www8.informatik.uni-erlangen.de/html/lisp/histlit1.html>. It's
true that some of the early papers on Lisp, such as AI memo 8 (see
<http://www.ai.mit.edu/research/publications/browse/0000browse.shtml>)
argue for the suitability of S-functions as a model of computation,
but note that these came after the initial design of Lisp as a
programming language, not before.

-- 
David Hopwood



More information about the erlang-questions mailing list