This document provides a brief overview of the Tycoon Machine Language TML
which is used as a persistent intermediate program representation within
the Tycoon system. TML representations of Tycoon programs provide the basis
for extensive tree analysis and rewriting aiming at various optimizations
which are independent of source languages and target machines.

TML representations are used for both static (compile-time) and dynamic
(runtime) optimizations. Dynamic optimizations are of particular
importance for performance improvement of large and modular programs. 

TML is based on Continuation Passing Style (CPS), a powerful yet simple
program representation technique developed as a framework for optimizing
compilers. The advantage of CPS lies in the significant reduction in
number of program constructs to be handled by the Tycoon static
and dynamic (reflective) optimizer.

We propose that in modern persistent data-intensive applications
traditional database query optimization be integrated into a more
generalized framework for extensive program analysis and transformation.

