An Analytical Approach to Programs as Data Objects

An Analytical Approach to Programs as Data Objects (PDF), Olivier Danvy, 2006.

This work presents an analytical approach to programs as data objects, i.e., to programs
whose representation is operated upon by other programs. The approach is analytical in
that a variety of program manipulations is considered and their impact on program understanding,
design, and efficiency is measured.
Most of the programs considered here are language processors, i.e., programs interpreting,
translating, or transforming other programs. As for the program manipulations, they
concern block structure and lexical scope, the representation of functions at run time, and
the representation of control.

A dissertation by Olivier Danvy. I haven't read it yet, but it sounds like a compilation of all the work he has been doing for the past several years. So there is probably not too much that is new, but it should be presented more cleanly and coherently drawing on the connections that join them.