Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level programming features for some time. Many of these features---generalized algebraic datatypes (GADTs), type families, kind polymorphism, and promoted datatypes---have brought Haskell to the doorstep of dependent types. Many dependently typed programs can even currently be encoded, but often the constructions are painful. In this dissertation, I describe Dependent Haskell, which supports full dependent types via a backward-compatible extension to today\u27s Haskell. An important contribution of this work is an implementation, in GHC, of a portion of Dependent Haskell, with the rest to follow. The features I have implemented are already released, in G...
© 2017 ACM. Functional dependencies are a popular extension to Haskell's typeclass system because t...
Haskell has a rich type system with various complementary, interacting and overlapping features. In ...
In these lecture notes we give an introduction to functional programming with dependent types. We us...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
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...
We propose a core semantics for Dependent Haskell, an extension of Haskell with full-spectrum depend...
Generic Haskell is an extension of Haskell that supports the construction of generic programs. Durin...
Haskell programmers have been experimenting with dependent types for at least a decade, using clever...
Haskell’s type system has outgrown its Hindley-Milner roots to the extent that it now stretches to t...
Robin Milner coined the slogan well typed programs cannot go wrong, advertising the power of types i...
Language designers have in recent years proposed a wealth of richer type systems for programming whi...
We present the type rules for a dependently typed core calculus together with a straight-forward imp...
The mechanism for declaring datatypes in functional programming languages such as ML and Haskell is ...
© 2017 ACM. Functional dependencies are a popular extension to Haskell's typeclass system because t...
Haskell has a rich type system with various complementary, interacting and overlapping features. In ...
In these lecture notes we give an introduction to functional programming with dependent types. We us...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
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...
We propose a core semantics for Dependent Haskell, an extension of Haskell with full-spectrum depend...
Generic Haskell is an extension of Haskell that supports the construction of generic programs. Durin...
Haskell programmers have been experimenting with dependent types for at least a decade, using clever...
Haskell’s type system has outgrown its Hindley-Milner roots to the extent that it now stretches to t...
Robin Milner coined the slogan well typed programs cannot go wrong, advertising the power of types i...
Language designers have in recent years proposed a wealth of richer type systems for programming whi...
We present the type rules for a dependently typed core calculus together with a straight-forward imp...
The mechanism for declaring datatypes in functional programming languages such as ML and Haskell is ...
© 2017 ACM. Functional dependencies are a popular extension to Haskell's typeclass system because t...
Haskell has a rich type system with various complementary, interacting and overlapping features. In ...
In these lecture notes we give an introduction to functional programming with dependent types. We us...