Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressiveness of dependent types, while retaining the look and feel of a practical programming language. This paper shows how to increase expressiveness still further, by adding closed type functions whose equations may overlap, and may have non-linear patterns over an open type universe. Although practically useful and simple to implement, these features go beyond conventional dependent type theory in some respects, and have a subtle metatheory
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
We present an approach to support partiality in type-level computation without compromising expressi...
This paper presents a formal description of a small functional language with dependent types. The la...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
We report on an extension of Haskell with type(-level) functions and equality constraints. We illust...
The type system of Haskell and some related systems are based on an open world approach for overload...
Type classes and type families are key ingredients in Haskell programming. Type classes were introdu...
Multi-parameter type classes, functional dependencies, and re-cently GADTs and open type families op...
A type-indexed function is a function that is defined for each member of some family of types. Haske...
The problem of supporting the modular extensibility of both data and functions in one programming la...
Functional dependencies provide for a relational specification of user-programmable type improvement...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
This thesis studies questions of type inference, unification and elaboration for languages that comb...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
We present an approach to support partiality in type-level computation without compromising expressi...
This paper presents a formal description of a small functional language with dependent types. The la...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
We report on an extension of Haskell with type(-level) functions and equality constraints. We illust...
The type system of Haskell and some related systems are based on an open world approach for overload...
Type classes and type families are key ingredients in Haskell programming. Type classes were introdu...
Multi-parameter type classes, functional dependencies, and re-cently GADTs and open type families op...
A type-indexed function is a function that is defined for each member of some family of types. Haske...
The problem of supporting the modular extensibility of both data and functions in one programming la...
Functional dependencies provide for a relational specification of user-programmable type improvement...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
This thesis studies questions of type inference, unification and elaboration for languages that comb...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
We present an approach to support partiality in type-level computation without compromising expressi...
This paper presents a formal description of a small functional language with dependent types. The la...