A tiny Lisp written by Ian Piumarta
It started off really small (about 150 LOC) but I got carried away. I hope you will forgive the bloat. Compiled on x86 with gcc -Os it's about 17 KB for the interpreter and 4 KB the garbage collector (a cheesy, home-made, stop-world, precise collector -- although it can also use the classy, incremental, conservative Boehm-Demers-Weiser one in /usr/lib). That makes for about 21 KB of self-contained Lisp interpreter, including a rudimentary (but useful) FFI and macros, that runs at about 1 million funcalls per second on my Q9450. (If you do something interesting with it in the embedded space, I'd love to hear about that too.)