On LISP's approximate 21st anniversary, no doubt something could be said about coming of age, but it seems doubtful that the normal life expectancy of a programming language is three score and ten. In fact, LISP seems to be the second oldest surviving programming language after Fortran, so maybe we should plan on holding one of these newspaper interviews in which grandpa is asked to what he attributes having lived to 100. Anyway the early history of LISP was already covered in [McC81], reprinted from the Proceedings of the 1977 ACM conference on the history of programming languages.
Therefore, these notes first review some of the salient features of LISP and their relation to its long survival, noting that it has never been supported by a computer company. LISP has a partially justified reputation of being more based on theory than most computer languages, presumably stemming from its functional form, its use of lambda notation and basing the interpreter on a universal function.
From the beginning, I have wanted to develop techniques for making computer checkable proofs of LISP programs, and now this is possible for a large part of LISP. Still other present and proposed facilities are in a theoretically more mysterious state. I will conclude with some remarks on improvements that might be made in LISP and the prospects for replacing it by something substantially better.