A Hindley-Milner type system such as ML's seems to prohibit typeindexed values, i.e., functions that map a family of types to a family of values. Such functions generally perform case analysis on the input types and return values of possibly different types. The goal of our work is to demonstrate how to program with type-indexed values within a Hindley-Milner type system.Our first approach is to interpret an input type as its correspondingvalue, recursively. This solution is type-safe, in the sense that the ML type system statically prevents any mismatch between the input type and function arguments that depend on this type.Such specific type interpretations, however, prevent us from combining different type-indexed values that share the sa...
AbstractWe show how the Hindley/Milner polymorphic type system can be extended to incorporate overlo...
Type inference is a key component of modern statically typed programming languages. It allows progra...
We present HML, a type inference system that supports full first-class polymorphism where few annota...
AbstractThis article presents several general approaches to programming with type-indexed families o...
We study an extension of the Hindley/Milner system with explicit type scheme annotations and type de...
The Hindley-Milner HM type system automatically infers the types at which polymorphic functions are ...
AbstractThe Hindley/Milner discipline for polymorphic type inference in functional programming langu...
We study the type inference problem for a system with type classes as in the functional programming ...
Abstract. The problem of typing polymorphic recursion (i.e., recursive function definitions rec {x =...
Many computer programs have the property that they work correctly on a variety of types of input; s...
International audienceWe present a new approach to the polymorphic typing of data accepting in-place...
We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalen...
Traditional techniques for implementing polymorphism use auniversal representation for objects of un...
The ML programming language restricts type polymorphism to occur only in the "let-in" construct and ...
Dealing with polymorphism in the presence of imperative features is a long-standing open problem for...
AbstractWe show how the Hindley/Milner polymorphic type system can be extended to incorporate overlo...
Type inference is a key component of modern statically typed programming languages. It allows progra...
We present HML, a type inference system that supports full first-class polymorphism where few annota...
AbstractThis article presents several general approaches to programming with type-indexed families o...
We study an extension of the Hindley/Milner system with explicit type scheme annotations and type de...
The Hindley-Milner HM type system automatically infers the types at which polymorphic functions are ...
AbstractThe Hindley/Milner discipline for polymorphic type inference in functional programming langu...
We study the type inference problem for a system with type classes as in the functional programming ...
Abstract. The problem of typing polymorphic recursion (i.e., recursive function definitions rec {x =...
Many computer programs have the property that they work correctly on a variety of types of input; s...
International audienceWe present a new approach to the polymorphic typing of data accepting in-place...
We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalen...
Traditional techniques for implementing polymorphism use auniversal representation for objects of un...
The ML programming language restricts type polymorphism to occur only in the "let-in" construct and ...
Dealing with polymorphism in the presence of imperative features is a long-standing open problem for...
AbstractWe show how the Hindley/Milner polymorphic type system can be extended to incorporate overlo...
Type inference is a key component of modern statically typed programming languages. It allows progra...
We present HML, a type inference system that supports full first-class polymorphism where few annota...