Home > Community > Blogs > Custom IC Design > a moment to mourn
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more convenient.

Register | Membership benefits
Get email delivery of the Custom IC Design blog (individual posts).


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

A Moment to Mourn -- John McCarthy, Father of Lisp

Comments(0)Filed under: Custom IC Design, SKILL, LISP, John McCarthy, McCarthy, software developmentHere lies a Lisper
Uninterned from this mortal package
Yet not gc'd
While we retain pointers to his memory

[Author unknown]

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, and list.

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.

Lisp is truly a great contribution to the world of computer science and software development in general.

Thanks John McCarthy. Rest in Peace.

Jim Newton




Leave a Comment

E-mail (will not be published)
 I have read and agree to the Terms of use and Community Guidelines.
Community Guidelines
The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.