2007 · 239 citations · 35 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSyntaxData TypesEquality TheoryFunctional ProgrammingFunctional SyntaxType CheckingType SystemsAlgebraic Data TypesAxiomsDatatypes TheoryPolymorphic Type SystemsPolymorphic TypesType PolymorphismType Theory
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.
35
Recursive Unsolvability of a problem of Thue
Emil L. Post · Journal of Symbolic Logic · 1947 · 533 citations
Simple unification-based type inference for GADTs
Simon Peyton Jones, Dimitrios Vytiniotis, Stephanie Weirich et al. · 2006 · 336 citations
Guarded recursive datatype constructors
Hongwei Xi, Chiyan Chen, Gang Chen · 2003 · 329 citations
Conor McBride, James McKinna · Journal of Functional Programming · 2004 · 327 citations · Full text
Compiling polymorphism using intensional type analysis
Robert Harper, Greg Morrisett · 1995 · 298 citations · Full text