My system is called nitrous [note about name]. I have tried to take the best ideas from `C, Fabius, and Common Lisp, and build a compromise system.
I use an Intermediate Representation like `C, to allow optimization of the generated code, and to make the system more portable.
I use a BTA like Fabius to automate the division of the program into static and dynamic portions.
From Common Lisp i take the reflective idea of defining the programming environment and making it available at runtime. Nitrous supports multiple code transformation systems, and allows them to be composed. In particular, the output of a generated compiler may be fed back into cogen. this allows multiple layers of languages to be compiled (see here).