That's an interesting link, here's another one I found:
http://www.nhplace.com/kent/Papers/Tech ... ssues.html
Set and Let aren't needed to write programs in a pure functional style. Some lispers like pg like that type of approach. Lambda is already part of the eval function defined above, the eval function is the key thing that creates a lisp out of those primitives. With eval you can pass functions as arguments, recurse, and write a macro system. After this first lisp interpreter was made, a combination approach of mixed compiling and interpreting was later invented.