As a side note, it's nice to see how OCaml somewhat seems to become the de-facto standard as the environment of choice for PL design & experiments.
Haskell and Scheme are the other two perennial choices, with Haskell getting the advantage in type-system work. But Pierce's shadow and Ocaml is getting hard to avoid.
For an introduction, I would also recommend "Algorithm W Step by Step"
http://www.grabmueller.de/martin/www/pub/AlgorithmW.pdf
As a side note, it's nice to see how OCaml somewhat seems to become the de-facto standard as the environment of choice for PL design & experiments.