This thesis studies questions of type inference, unification and elaboration for languages that combine dependent type theory and functional programming. Languages such as modern Haskell have very expressive type systems, allowing the programmer a great deal of freedom. These require advanced type inference and unification algorithms to reconstruct details that were left implicit, and suitable representation of the evidence delivered by such algorithms. The first part proposes an approach to unification and type inference, based on information increase in dependency-ordered contexts, and keeping careful track of variable scope. Two existing systems are reviewed: the Hindley-Milner type system, and units of measure in the style of Kennedy. ...
© 2017 ACM. Functional dependencies are a popular extension to Haskell's typeclass system because t...
We propose a core semantics for Dependent Haskell, an extension of Haskell with full-spectrum depend...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
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...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
We study the type inference problem for a system with type classes as in the functional programming ...
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...
Static typing is one of the most prominent techniques in the design of programming languages for mak...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
We study the type inference problem for a system with type classes as in the functional programming ...
In these lecture notes we give an introduction to functional programming with dependent types. We us...
This thesis is an exploration -- an exploration of a language extension of the functional programmi...
Haskell’s type system has outgrown its Hindley-Milner roots to the extent that it now stretches to t...
© 2017 ACM. Functional dependencies are a popular extension to Haskell's typeclass system because t...
We propose a core semantics for Dependent Haskell, an extension of Haskell with full-spectrum depend...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
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...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
We study the type inference problem for a system with type classes as in the functional programming ...
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...
Static typing is one of the most prominent techniques in the design of programming languages for mak...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
We study the type inference problem for a system with type classes as in the functional programming ...
In these lecture notes we give an introduction to functional programming with dependent types. We us...
This thesis is an exploration -- an exploration of a language extension of the functional programmi...
Haskell’s type system has outgrown its Hindley-Milner roots to the extent that it now stretches to t...
© 2017 ACM. Functional dependencies are a popular extension to Haskell's typeclass system because t...
We propose a core semantics for Dependent Haskell, an extension of Haskell with full-spectrum depend...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...