Next: , Previous: , Up: The Roots of Lisp   [Contents][Index]


Paul Graham’s "The Roots of Lisp"

(I wrote this article to help myself understand exactly what McCarthy discovered. You don’t need to know this stuff to program in Lisp, but it should be helpful to anyone who wants to understand the essence of Lisp — both in the sense of its origins and its semantic core. The fact that it has such a core is one of Lisp’s distinguishing features, and the reason why, unlike other languages, Lisp has dialects.) – Paul Graham

Paul Graham’s The Roots of Lisp, a cogent essay dealing with John McCarthy’s astonishing 1960’s paper4 which introduced the LISP language, and more importantly, the functional model of programing.

Graham stresses his essay is more important today than ever, given how more languages have moved (albeit in a piecemeal fashion) towards the LISP model. Working with seven primitive operators, the paper shows how the entire language is built. Most importantly, the paper shows the LISP trademark, how to write the language in itself.

An interesting aspect for Scheme programmers like myself is the discussion of dynamic versus lexical scoping.

Reading the paper reminds us of why functional languages, especially LISP based ones, aren’t just the best for expressing algorithms, but are the most elegant models of programming since the are easily transcribed in mathematical notation.

I can’t recommend The Roots of Lisp enough. The paper is available for free download on Paul Graham’s site.

Posted by Robert D. Skeels * rdsathene Saturday, January 2, 2010 @ http://tech-rdsathene.blogspot.com/search/label/Scheme


Footnotes

(4)

Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I, by John McCarthy, April 1960 @ http://www-formal.stanford.edu/jmc/recursive/recursive.html. Note: Part II never appeared.


Next: History of Lisp, Previous: John McCarthy and LISP, Up: The Roots of Lisp   [Contents][Index]