• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Blogs
  2. Analog/Custom Design
  3. A Moment to Mourn -- John McCarthy, Father of Lisp
Team SKILL
Team SKILL

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Have a question? Need more information?

Contact Us
John McCarthy
McCarthy
software development
Lisp
Custom IC Design
SKILL

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

31 Oct 2011 • 1 minute read
Here 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

 

 


CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information