Last week (October 23rd, 2011 or 24th depending on which source you
read) we lost Dr. John McCarthy, one of the great contributors to the
field of computer science. I'd like to send my condolences and best
wishes to friends and family he left behind.
John McCarthy was the 1971 recipient of the Turing Award for his
contributions to the field of artificial intelligence. But the reason
we remember him and pay tribute to him today is because he is
generally acknowledged as being the Father of Lisp which in some sense
also makes him the grandfather of SKILL.
In 1960 McCarthy published a paper entitled Recursive Functions of
Symbolic Expressions and Their Computation by Machine (Part 1).
In this paper (part 2 of which was never published) he introduced a
system he called LISP in which he was able to represent
algorithms and mathematical logic in terms of what he called
m-expressions and s-expressions. In fact, many of the names of the
primitive objects and operators in the SKILL programming language were
first mentioned from that paper,
including: car, caar, cadar, cdr, assoc, atom, nil, null, eq, cons, lambda, quote,
From the stories I've been told, McCarthy originally did not intend
Lisp to become an actual language. Rather he simply illustrated it as
a discussion exercise to his students. He used an M-expression
notation such as F[G[a,b]] to expression function calling
syntax. Some of his ambitious students were determined that they
could create actual implementation on their IBM 704 mainframes based
on McCarthy's theoretical concepts.
The students used an easier to
parse s-expression syntax such as (F (G A B)). McCarthy
hoped they'd eventually implement a better surface syntax.
However, his students were initially more interested in how the
language worked than the syntax. Meanwhile they also learned to love
this internal (((syntax))). Eventually a student did manage to
implement the m-expression syntax as originally conceived by McCarthy,
but by that time none of the students wanted to use it.
(F (G A B))
Lisp is truly a great contribution to the world of computer science
and software development in general.
Thanks John McCarthy. Rest in Peace.