The Programming Language Zoo
On this page you will find on display a number of mini languages which demonstrate various techniques in design and implementation of programming languages. The languages are implemented in Objective Caml.
[…] The languages are not meant to compete in speed or complexity with their bigger cousins from the real world. On the contrary, they are deliberately very simple, as each language introduces only one or two new basic ideas. You should find the source code useful if you want to learn how things are done.
I stumbled across this when I was looking for information on Levy’s call-by-push-value, but there’s many other interesting toy interpreters on the page too.