2005 · 223 citations · 26 references
ComputingComputer ScienceCompilersProgramming LanguagesSyntaxData TypesFunctional ProgrammingFunctional SyntaxType CheckingType SystemsDependent TypesPolymorphic Type SystemsPolymorphic TypesType ClassesType Polymorphism
Haskell programmers often use a multi-parameter type class in which one or more type parameters are functionally dependent on the first. Although such functional dependencies have proved quite popular in practice, they express the programmer's intent somewhat indirectly. Developing earlier work on associated data types, we propose to add functionally dependent types as type synonyms to type-class bodies. These associated type synonyms constitute an interesting new alternative to explicit functional dependencies.
26
Jan Willem Klop · Data Archiving and Networked Services (DANS) · 1990 · 783 citations
Template meta-programming for Haskell
Tim Sheard, Simon Peyton Jones · 2002 · 548 citations
Alexander A. Stepanov, Meng Lee · 1998 · 409 citations
Guarded recursive datatype constructors
Hongwei Xi, Chiyan Chen, Gang Chen · 2003 · 329 citations
Cordelia Hall, Kevin Hammond, Simon Jones et al. · ACM Transactions on Programming Languages and Systems · 1996 · 251 citations · Full text