. Since record polymorphism is one of essential factors for object-oriented languages, various approaches to incorporate record polymorphism into type systems have been proposed to lay the foundation for object-oriented languages. Recursive types, which are essentially types of lists or trees, are major programming tools. In object-oriented languages, a pseudo variable "self " has a recursive type, which requires that type systems be able to treat recursive types. The purpose of this paper is to provide a type system and its type inference algorithm which can handle subtyping, recursive types and parametric polymorphism without any kind of type declaration or unnatural restrictions. We prove soundness and completeness of the type ...
Existing type systems for object calculi are based on invariant subtyping. Subtyping invariance is r...
We present a type inference algoritm and its verification for an object-oriented programming languag...
Type inference is a key component of modern statically typed programming languages. It allows progra...
We present a type inference system for a language with object-oriented features such as polymorphic ...
AbstractWe define a powerful type inference mechanism with application to object-oriented programmin...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
AbstractWe extend polymorphic type inference with a very general notion of subtype based on the conc...
Inferring types for polymorphic recursive function definitions (abbreviated to polymorphic recursion...
Object-oriented languages can be translated into a #lambda#-calculus with records. Therefore, type i...
AbstractExisting type systems for object calculi are based on invariant subtyping. Subtyping invaria...
AbstractInferring types for polymorphic recursive function definitions (abbreviated to polymorphic r...
We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalen...
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...
We consider type systems that combine universal types, recursive types, and object types. We study t...
Existing type systems for object calculi are based on invariant subtyping. Subtyping invariance is r...
We present a type inference algoritm and its verification for an object-oriented programming languag...
Type inference is a key component of modern statically typed programming languages. It allows progra...
We present a type inference system for a language with object-oriented features such as polymorphic ...
AbstractWe define a powerful type inference mechanism with application to object-oriented programmin...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
AbstractWe extend polymorphic type inference with a very general notion of subtype based on the conc...
Inferring types for polymorphic recursive function definitions (abbreviated to polymorphic recursion...
Object-oriented languages can be translated into a #lambda#-calculus with records. Therefore, type i...
AbstractExisting type systems for object calculi are based on invariant subtyping. Subtyping invaria...
AbstractInferring types for polymorphic recursive function definitions (abbreviated to polymorphic r...
We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalen...
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...
We consider type systems that combine universal types, recursive types, and object types. We study t...
Existing type systems for object calculi are based on invariant subtyping. Subtyping invariance is r...
We present a type inference algoritm and its verification for an object-oriented programming languag...
Type inference is a key component of modern statically typed programming languages. It allows progra...