We present a type inference system for a language with object-oriented features such as polymorphic record access and subtyping. We separate the notion of matching and subtyping in order to avoid difficulties caused by recursive type constraints. We will use two kinds of type constraints --- record (variant) constraints and subtyping constraints. Then, we discuss simplification of such mixed type constraints and show that simplification becomes much easier by the separation. 1. Introduction In this paper, we propose an ML-style type inference system which uses constrained types and allows both polymorphic record access and implicit subtyping. We will then discuss simplification of type constraints. In the design of type systems for objec...
Existing type systems for object calculi are based on invariant subtyping. Subtyping invariance is r...
Abadi and Cardelli have recently investigated a calculus of objects [2]. The calculus supports a key...
Existing type systems for object calculi [2] are based on invariant subtyping. Subtyping invariance ...
. Since record polymorphism is one of essential factors for object-oriented languages, various appro...
AbstractWe define a powerful type inference mechanism with application to object-oriented programmin...
We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalen...
Constrained type systems are a natural generalization of Hindley/Milner type inference to languages ...
Many computer programs have the property that they work correctly on a variety of types of input; s...
Abstract. A constrained type is a type that comes with a set of subtyping constraints on variables o...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
AbstractExisting type systems for object calculi are based on invariant subtyping. Subtyping invaria...
AbstractWe extend polymorphic type inference with a very general notion of subtype based on the conc...
AbstractRecord concatenation, multiple inheritance, and multiple-object cloning are closely related ...
We show how type inference for object oriented programming languages with state can be performed wit...
research.microsoft.com/Users/simonpj/ We present a novel inference algorithm for a type system featu...
Existing type systems for object calculi are based on invariant subtyping. Subtyping invariance is r...
Abadi and Cardelli have recently investigated a calculus of objects [2]. The calculus supports a key...
Existing type systems for object calculi [2] are based on invariant subtyping. Subtyping invariance ...
. Since record polymorphism is one of essential factors for object-oriented languages, various appro...
AbstractWe define a powerful type inference mechanism with application to object-oriented programmin...
We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalen...
Constrained type systems are a natural generalization of Hindley/Milner type inference to languages ...
Many computer programs have the property that they work correctly on a variety of types of input; s...
Abstract. A constrained type is a type that comes with a set of subtyping constraints on variables o...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
AbstractExisting type systems for object calculi are based on invariant subtyping. Subtyping invaria...
AbstractWe extend polymorphic type inference with a very general notion of subtype based on the conc...
AbstractRecord concatenation, multiple inheritance, and multiple-object cloning are closely related ...
We show how type inference for object oriented programming languages with state can be performed wit...
research.microsoft.com/Users/simonpj/ We present a novel inference algorithm for a type system featu...
Existing type systems for object calculi are based on invariant subtyping. Subtyping invariance is r...
Abadi and Cardelli have recently investigated a calculus of objects [2]. The calculus supports a key...
Existing type systems for object calculi [2] are based on invariant subtyping. Subtyping invariance ...