Common Lisp is a huge language. Using those primitives one could write all of Common Lisp, but it would be a big undertaking.

Are those primitives all that is needed to reasonably and quickly write the simplest Lisp? Yes, as shown above.

This brings up the question 'what is Lisp'? Lisp is (a version of) the lambda calculus in a programming language form. It was created as an academic exercise/theory in theoretical form, similar to above, by MIT Professor John McCarthy. Steve Russell than created a machine language version of McCarthy's theoretical form. As shown above, the minimum Russell had to do was create machine language equivalents of the above primitives, and the rest could be written in those primitives.

What is 'lambda calculus'? It's a math system which attempted to use functions and recursion as a basis for describing/axiomatizing all of math. It failed to do that because this was later found to not be logically possible. However while it can't do that impossible task it can do any task that is computable. Functional-recursive-combinatory is a much faster way to program than the step by step with side-state approach of the turing maching and all the imperative languages. Probably the only real competitor to Lisp in this 'smart and speedy' approach is the 'combinatory' language Haskell. Prolog is significant but perhaps can be considered a dsl.

Because lambda calculus is computation by recursive 'first class' functions, in programming language terms this means that the defining characteristic of Lisp is it's ability to write itself in itself. In other words it embodies the definition of 'recursive first class function.' You could write Perl in itself, but the code for that would look so ridiculous as to be beyond human comprehension. Whereas with focus you could understand the above within 2 or 3 hours at most. It's the most reasonably concise turing complete self writable language, and thus the most powerful in terms of fast and effective programmer output, which is really the thing that matters most.

Btw-Here's a language that is turing complete when using a subset of only 3 keywords:

Unlambda is a minimal, but impure functional programming language invented by David Madore. It is based on combinatory logic, a version of the lambda calculus that omits the lambda operator. It relies mainly on two built-in functions (s and k) and an "apply" operator (written `, the backquote character). These alone make it Turing-complete, but there are also some I/O functions to make it possible to interact with the user, some shortcut functions and a function for lazy evaluation.

http://en.wikipedia.org/wiki/UnlambdaRecommended Reading:

'To Mock a Mockingbird' by Raymond Smullyan-who was a student of Alonzo Church, inventor of Lambda Calculus. Smullyan also wrote a key modern version of Godel's theorem.

http://en.wikipedia.org/wiki/Raymond_SmullyanDeep inside the forest dwells the Mockingbird, which imitates other birds hearing themselves. The resulting cascade of calls and responses analogizes to abstract models of computing. With this analogy in hand, one can explore advanced topics in the mathematical theory of computability, such as Church-Turing Computability and Gödel's Theorem.

http://en.wikipedia.org/wiki/To_Mock_a_Mockingbirdhttp://books.google.com/books?id=6_CcsK ... q=&f=false