I have been following Peter Michaux's Scheme from Scratch blog/code series with great interest. First, he is implementing a Scheme interpreter in C step by step, with the goal that it be a quick and dirty implementation that can be used to bootstrap a Scheme-to-Assembly compiler.

His writing (including his readable code) is very inspiring, and I am thinking of dusting off the old gnatmake and busting out some Ada to follow along.

I remember a time when I thought only super-humans could implement an interpreter but a naive interpreter like this one is really just a matter of putting one foot in front of the next.

Two great places to start are his introduction to the series and the repository on GitHub.