We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalence. This approach allows the subtype relation to be de ned by incremental construction of polymorphic records and datatypes, in a way that subsumes the basic type systems of both languages like ML and Java. As the main contribution of the paper, we describe a partial type inference algorithm for the extended system which favours succinctness over generality, in the sense that it never infers types with subtype constraints. The algorithm is based on an effcient approximating constraint solver, and is able to type a wide range of programs that utilize subtyping and polymorphism in a non-trivial way. Since constrained types are not inferred, the...
We investigate a technique from the literature, called the phantom-types technique, that uses parame...
Abstract. We investigate how to add coercive structural subtyping to a type system for simply-typed ...
AbstractWe show how the Hindley/Milner polymorphic type system can be extended to incorporate overlo...
We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalen...
Subtyping is used in language design, type checking and program analysis. Mitchell and others have s...
Many computer programs have the property that they work correctly on a variety of types of input; s...
We present a type inference system for a language with object-oriented features such as polymorphic ...
AbstractWe extend polymorphic type inference with a very general notion of subtype based on the conc...
Abstract. A constrained type is a type that comes with a set of subtyping constraints on variables o...
Constrained type systems are a natural generalization of Hindley/Milner type inference to languages ...
Abstract. Many type inference and program analysis systems include notions of subtyping and parametr...
We present a type system combining subtyping and ML-style parametric polymorphism. Unlike previous w...
Many type inference and program analysis systems include notions of subtyping and parametric polymor...
This thesis describes techniques for efficiently performing polymorphic type inference for function...
research.microsoft.com/Users/simonpj/ We present a novel inference algorithm for a type system featu...
We investigate a technique from the literature, called the phantom-types technique, that uses parame...
Abstract. We investigate how to add coercive structural subtyping to a type system for simply-typed ...
AbstractWe show how the Hindley/Milner polymorphic type system can be extended to incorporate overlo...
We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalen...
Subtyping is used in language design, type checking and program analysis. Mitchell and others have s...
Many computer programs have the property that they work correctly on a variety of types of input; s...
We present a type inference system for a language with object-oriented features such as polymorphic ...
AbstractWe extend polymorphic type inference with a very general notion of subtype based on the conc...
Abstract. A constrained type is a type that comes with a set of subtyping constraints on variables o...
Constrained type systems are a natural generalization of Hindley/Milner type inference to languages ...
Abstract. Many type inference and program analysis systems include notions of subtyping and parametr...
We present a type system combining subtyping and ML-style parametric polymorphism. Unlike previous w...
Many type inference and program analysis systems include notions of subtyping and parametric polymor...
This thesis describes techniques for efficiently performing polymorphic type inference for function...
research.microsoft.com/Users/simonpj/ We present a novel inference algorithm for a type system featu...
We investigate a technique from the literature, called the phantom-types technique, that uses parame...
Abstract. We investigate how to add coercive structural subtyping to a type system for simply-typed ...
AbstractWe show how the Hindley/Milner polymorphic type system can be extended to incorporate overlo...