Scheme from scratch using drakon, see http://peter.michaux.ca/articles/scheme-from-scratch-introduction