Haskell has a rich type system with various complementary, interacting and overlapping features. In particular we think of the established type classes, with several extensions: multiple parameters, functional dependencies,... In a recent proposal, a new feature is added to the Haskell language: type-level functions, or type families in GHC. This multitude of type-level features is a blessing for programmers. A well-chosen combination of features allows the accurate expression of many problem domain semantics. However, the plethora of features is also a nightmare for Haskell compiler writers, who have to implement and maintain all these features. For instance, GHC's core type checking modules for type classes and type families comprise a...
Type family applications in Haskell must be fully saturated. This means that all type-level function...
Functional dependencies provide for a relational specification of user-programmable type improvement...
This paper presents an extension to standard Hindley-Milner type checking that allows constructors i...
We describe the implementation of a type checker for the functional programming language Haskell tha...
We study the type inference problem for a system with type classes as in the functional programming ...
Type classes and type families are key ingredients in Haskell pro-gramming. Type classes were introd...
Multi-parameter type classes, functional dependencies, and re-cently GADTs and open type families op...
We report on an extension of Haskell with type(-level) functions and equality constraints. We illust...
We study the type inference problem for a system with type classes as in the functional programming ...
Although the functional programming language Haskell has a powerful type class system, users frequen...
System FC, the core language of the Glasgow Haskell Compiler, is an explicitly-typed variant of Syst...
Static typing is one of the most prominent techniques in the design of programming languages for mak...
Abstract. The more expressive a type system, the more type information has to be provided in a progr...
The more expressive a type system, the more type information has to be provided in a program. Havin...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), is enriched with many extensions that...
Type family applications in Haskell must be fully saturated. This means that all type-level function...
Functional dependencies provide for a relational specification of user-programmable type improvement...
This paper presents an extension to standard Hindley-Milner type checking that allows constructors i...
We describe the implementation of a type checker for the functional programming language Haskell tha...
We study the type inference problem for a system with type classes as in the functional programming ...
Type classes and type families are key ingredients in Haskell pro-gramming. Type classes were introd...
Multi-parameter type classes, functional dependencies, and re-cently GADTs and open type families op...
We report on an extension of Haskell with type(-level) functions and equality constraints. We illust...
We study the type inference problem for a system with type classes as in the functional programming ...
Although the functional programming language Haskell has a powerful type class system, users frequen...
System FC, the core language of the Glasgow Haskell Compiler, is an explicitly-typed variant of Syst...
Static typing is one of the most prominent techniques in the design of programming languages for mak...
Abstract. The more expressive a type system, the more type information has to be provided in a progr...
The more expressive a type system, the more type information has to be provided in a program. Havin...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), is enriched with many extensions that...
Type family applications in Haskell must be fully saturated. This means that all type-level function...
Functional dependencies provide for a relational specification of user-programmable type improvement...
This paper presents an extension to standard Hindley-Milner type checking that allows constructors i...