ramin_hal9001, Wow, the Nanopass Compiler Framework used in the Chez Scheme compiler, which is the compiler that produces the fastest native binary programs of all Scheme implementations, is available as a separate library that you can use in any compiler.
The nanopass framework provides a tool for writing compilers composed of several simple passes that operate over well-defined intermediate languages. The goal of this organization is both to simplify the understanding of each pass, because it is responsible for a single task, and to simplify the addition of new passes anywhere in the compiler.
<pre>(define-language L0 (terminals (variable (x)) (primitive (pr)) (datum (d)) (constant (c))) (Expr (e body) x pr c 'd (begin e* ... e) (if e0 e1) (if e0 e1 e2) (lambda (x* ...) body* ... body) (let ([x* e*] ...) body* ... body) (letrec ([x* e*] ...) body* ... body) (e0 e1 ...)))</pre>
You can install it from the Akku repo.