If you like this sort of thing and want to learn Haskell, consider looking at "Write Yourself a Scheme in 48 Hours"[1]. Of course, writing a Scheme interpreter in Scheme is also classic; SICP[2] is also worth perusing.
[1]: http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_H...