This tutorial shows how to rewrite an interpreter
written in a higher-order functional language, so that it will become more
similar to a compiler, thereby eliminating the overhead due to
interpretation.