Allyn Dimock

Learn More
We present λ, a typed λ-calculus which serves as the foundation for a typed intermediate language for optimizing compilers for higher-order polymorphic programming languages. The key innovation of λ is a novel formulation of intersection and union types and flow labels on both terms and types. These flow types can encode polyvariant control and data flow(More)
Over the last several years, much interesting work has been done in modelling object-oriented programming languages in terms of extensions of the bounded second-order lambda calculus, Fr. Unfortunately, it has recently been shown by Pierce ([Pie92]) that type checking F< is undecidable. Moreover, he showed that the undecidability arises in t,he seemingly(More)
We present a typed intermediate language λ for optimizing compilers for function-oriented and polymorphically typed programming languages (e.g., ML). The language λ 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(More)
Optimizing compilers for function-oriented and object-oriented languages exploit type and flow information for efficient implementation. Although type and flow information (both control and data flow) are inseparably intertwined, compilers usually compute and represent them separately. Partially, this has been a result of the usual polymorphic type systems(More)
We present a new framework for transforming data representations in a strongly typed intermediate language. Our method allows both value producers (sources) and value consumers (sinks) to support multiple representations, automatically inserting any required code. Specialized representations can be easily chosen for particular source/sink pairs.The(More)
The CIL compiler for core Standard ML compiles whole ML programs using a novel typed intermediate language that supports the generation of type-safe customized data representations. In this paper, we present empirical data comparing the relative efficacy of several different flow-based customization strategies for function representations. We develop a cost(More)
OBJECTIVE To compare exercise-induced immune modulation in young and older horses. ANIMALS 6 young and 6 aged horses that were vaccinated against equine influenza virus. PROCEDURE Venous blood samples were collected for immunologic assessment before and immediately after exercise at targeted heart rates and after exercise for determination of plasma(More)
The CIL compiler for core Standard ML compiles whole programs using a novel typed intermediate language (TIL) with intersection and union types and ow labels on both terms and types. The CIL term representation duplicates portions of the program where intersection types are introduced and union types are eliminated. This duplication makes it easier to(More)