A great book I started reading recently, Lisp In Small Pieces, also starts with a simple Lisp in Lisp interpreter. It got me so inspired that I haven't gotten much further than the first 20 or 30 pages since I started writing my own Lisp (in C) a couple weeks ago. ( https://github.com/deliciousrobots/lisp ) It's still only about 1600 lines of C. The only thing that was even slightly tricky so far was adding TCO, which turned out to be pretty trivial. It's some of the most fun I've had on a personal project in awhile.