John McCarthy. History of Lisp. Artificial Intelligence
Laboratory, Stanford University. 1979.
McCarthy’s own take on the early history. It’s quite brief, but is
very careful to give broad credit to the others who were involved
in the practical creation of the language.
It’s also got some great vignettes on why certain features came
about - for example garbage collection coming from the need to
clean up intermediate structures when experimenting with symbolic
differentiation. McCarthy acknowledges taking the notation for
functions from Church, before admitting that he didn’t understand
the rest of Calculi of lambda conversion and so wasn’t tempted to
add the more general aspects!
Perhaps the most fascinating part of the story is that it was
originally so divorced from actual computers. The team had defined an eval function for interpreting Lisp programs – in the process
making the decision to represent the programs as lists – before
realising that this could be made interactive to provide a running interpreter.
What did McCarthy think of his creation? He was conscious that it
would have a lifetime:
LISP will become obsolete when someone makes a more comprehensive
language that dominates LISP practically and also gives a clear
mathematical semantics to a more comprehensive set of features.
Haskell has a plausible claim to have accomplished the latter but
this doesn’t seem to have led domination in practice.