System F with type equality coercions

Martin Sulzmann, Manuel M. T. Chakravarty, Simon Peyton Jones, K. Donnelly · 2007

We introduce System FC, which extends System F with support for non-syntactic type equality. There are two main extensions: (i) explicit witnesses for type equalities, and (ii) open, non-parametric type functions, given meaning by top-level equality axioms. Unlike System F, FC is expressive enough to serve as a target for several different source-language features, including Haskell's newtype, generalised algebraic data types, associated types, functional dependencies, and perhaps more besides.

Read the paper · More papers on PaperTik