Home

Awesome

This is yoshi, a LISP-1 interpreter written in C. (The syntax and semantics are Scheme-like.)

The eval definition is based on SICP 4.1 with some extensions. The list of built-in functions I chose to include is mostly based on Peter Norvig's lispy. (Most diversions are due to fixnums being the sole numeric type I support.)

This implementation performs proper tail call elimination on all relevant forms.

I wrote a garbage collector. I think it works, but I have been known to make mistakes from time to time.

RIP Dennis Ritchie and John McCarthy.