Stefan Tilkov's Random Stuff

Lisp in Ruby

Jim Weirich:

I had often thought about implementing a Lisp interpreter, but back in the “old days”, the thought of implementing garbage collection and the whole runtime thing was a bit daunting. This was in the day before C, so my implementation language would have been assembler … yech.

But as I was reviewing the page, I realized that with today’s modern languages, I could problably just convert the funky M-Expressions used on page 13 directly into code. So … why not?

Check out his 178 LOC LISP implementation (albeit with a non-LISP Ruby array syntax).