We develop programming-language theory to support our software. Our main theoretical interest is program transformation, including compilation between languages, improving the efficiency of a program within a language, or transforming data types to allow compatibility with common interfaces (such as type classes).
This page overviews the theory we are currently developing to support our research. We also maintain a Software webpage, which describes the software that we are developing that puts this theory to use.
More about Constrained Type-Class Instances