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λCILfor optimizing compilers for function-oriented and polymorphically typed programming languages (e.g., ML). The languageλCILis 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]