The original Lisp function, written in clojure.
See the test cases, and particularly the
paul-graham-examples tests, for a demo.
In 1960 John McCarthy published the snappily-titled, "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I". That paper contained a description of Turning-equivalent program evaluator that processed lists of symbols.
Soonafter, Steve Russell realized that the theory could be realized on an IBM 704, and bang! Lisp was born.
In 2001 Paul Graham wrote a paper that digested McCarthy's work for a geek audience.
On 19th November 2012, we^ re-implemented the original Lisp function in Clojure, as part of the London Clojurians Code Dojo.