Compiling with Flow Types
Project Focus
The focus of this portion of the Church Project is using polyvariant
flow information and polymorphic
type information integrated into a single flow type framework to
investigate flow/type-directed optimizations and transformations in a compiler
for a functional language.
The project has developed a compiler for Standard ML in SML/NJ
for the purpose of evaluating and refining flow type technology. The compiler
uses a typed intermediate language which integrates flow information with
a labeled type system featuring intersection and union types. The compiler
and its intermediate language support type/flow-directed customization
of data representations and optimization. All work is done in a strongly
typed framework, i.e., program transformations must correctly transform
the associated type and flow information.