2008 · 93 citations · 18 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesTheory Of ComputationData TypesDeductive VerificationFunctional ProgrammingProof AssistantsType CheckingType SystemsConstraintsType Theory
We report on an extension of Haskell with open type-level functions and equality constraints that unifies earlier work on GADTs, functional dependencies, and associated types. The contribution of the paper is that we identify and characterise the key technical challenge of entailment checking; and we give a novel, decidable, sound, and complete algorithm to solve it, together with some practically-important variants. Our system is implemented in GHC, and is already in active use.
18
Monad transformers and modular interpreters
Sheng Liang, Paul Hudak, Mark P. Jones · 1995 · 504 citations · Full text
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
Cayenne—a language with dependent types
Lennart Augustsson · 1998 · 283 citations