J. B. Wells, Allyn Dimock, Robert Muller, and Franklyn Turbak.
**A Typed Intermediate Language for Flow-Directed Compilation**.
In * 7th International Joint Conference on
the Theory and Practice of Software Development (TAPSOFT '97)*.
Springer Verlag Lecture Notes in Computer Science, 1997.

We present a typed intermediate languageλ^{CIL}for optimizing compilers
for function-oriented and polymorphically typed programming languages
(e.g., ML). The languageλ^{CIL}is a typed lambda calculus with product, sum,
intersection, and union types as well as function types annotated with
flow labels. A novel formulation of intersection and union types supports encoding flow
information in the typed program representation.
This flow information can direct optimization.

[PS] [PDF]