Tim Sheard, Zine-el-abidine Benaissa, and Emir Pasalic * Introduction * Staging in MetaML * Monads in Langauge Design * Monads in METAML * Illustrating our compiler development method o The while-language o The structure of the solution o Step 1: monadic interpreter o Step 2: staged interpreter + Interpreter for Commands. + An example. * Step 3: Back-end translation and intermediate code optimization o Intensional analysis of code fragments