Tools I am going to use some weird tools. They are not all from the FSF. There is nothing magic about them. Objective Caml (ocaml) ML dialect Functional / Imperative / OO language From INRIA LGPL runtime / QPL compiler Camlp4 Ocaml pre-processor-pretty-printer "like (defmacro ...) on steroids" Cquot C code quasiquoting for camlp4 written by me