Professor John McCarthy
Father of AI

Computing Science

Here are developments of historical interest in Computing Science.

Proposal for the 1956 Dartmouth Summer Research Project on Artificial Intelligence - 1955

Memorandum to P. M. Morse Proposing Time-Sharing
This memo dated 1959 January 1 proposed time-sharing to the director of the M.I.T. Computation Center.

Reminiscences on the History of Time-Sharing
There is no reason to supppose that these 1983 reminiscences are more or less accurate than my memories of the history of LISP.

LISP History according to McCarthy's memory in 1978.
This paper was presented at the ACM SIGPLAN History of Programming Languages Conference, June 1-3, 1978. It was pubished in History of Programming Languages, edited by Richard Wexelblat, Academic Press 1981. At the time, there was essentially no challenge to my memory. LISP History according to Herbert Stoyan's reading and analysis of the documents. Stoyan's reading of the early LISP documents gives a more accurate picture than my own memories turned out to have given.

Papers on Programming Languages

Recursive Functions of Symbolic Expressions and their Computation by Machine (Part I).
This was the original paper on LISP. It is copied with minor notational changes from CACM, April 1960. If you want the exact typography, look there. A few typographical changes have been made, but the notation has not been modernized. There are also some new explanatory footnotes. Part II, which never appeared, was to have had some Lisp programs for algebraic computation.

LISP - Notes on Its Past and Future - 1980
It was published in 1980. I put it up since it mostly represents my present opinions. There are some 1999 footnotes.

Elephant 2000 - 1992
This unpublished draft is a proposal for a new programming language, but it includes the mathematical theory of computation proposal for distinguishing input-output and accomplishment specifications, characterizes input and output statements as speech acts and allows reference to the past in programs.

Papers on Mathematical Theory of Computation

A Basis for a Mathematical Theory of Computation
First given in 1961, it was published in 1963 in Computer Programming and Formal Systems, edited by P. Braffort and D. Hirschberg and published by North-Holland.

Towards a Mathematical Science of Computation, IFIPS 1962
It extends the results of the previous paper. I think it is the first mention and use of abstract syntax.

Correctness of a Compiler for Arithmetic Expressions
by John McCarthy and James Painter may have been the first proof of correctness of a compiler. Abstract syntax and Lisp-style recursive definitions kept the paper short.

Papers on Information Technology

The Common Business Communication Language
Published in 1982, this paper proposes a language for inter-business inter-computer commmunication. Most of the ideas in this paper have been re-invented in connection with electronic commerce, specifically in connection with XML.

Criteria for usefulness of computers in offices
It is a 1982 article. Its observations are mainly confirmed, but some of the measures it advocates are still not implemented.

Networks considered harmful - for electronic mail
It is a 1989 editorial in CACM. Now that Internet is universally available, its considerations are mostly obsolete.

The Home Information Terminal - A 1970 View
This article was published in Man and Computer. Proc. int. Conf., Bordeaux 1970, pp. 48-57 (Karger, Basel 1972). It is interesting to compare its 1970 proposals with the current situation, 30 years later. I have decorated it with footnotes commenting on the 1970 situation and making comparisons. Some of the improvements advocated in the paper are still yet to come. I claim quite a few prophet points for the article.