>>19
You know, in Common Lisp, you don't even have to make an interpreter (
EVAL), I can just call the compiler directly and have it call the (usually native) compiled piece of code:
(defun eval (code) (funcall (compile nil `(lambda () ,code))))
Of course, a metacircular interpreter is also possible, but it will be larger than your average Scheme one.