The metavariable self is fundamental in object-oriented languages.Typing self in the presence of inheritance has been studied by Abadiand Cardelli, Bruce, and others. A key concept in these developmentsis the notion of selftype, which enables flexible type annotations thatare impossible with recursive types and subtyping. Bruce et al. demonstratedthat, for the language TOOPLE, type checking is decidable.Open until now is the problem of type inference with selftype.In this paper we present a type inference algorithm for a typesystem with selftype, recursive types, and subtyping. The examplelanguage is the object calculus of Abadi and Cardelli, and the typeinference algorithm runs in nondeterministic polynomial time
Subtyping is a basic concept in object-oriented languages. It supports subsumption but, unfortunatel...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
We present a type inference system for a language with object-oriented features such as polymorphic ...
We have designed and implemented a type inference algorithm for the full SELF language. The algorit...
Abadi and Cardelli have recently investigated a calculus of objects[2]. The calculus supports a key ...
Existing type systems for object calculi are based on invariant subtyping. Subtyping invariance is r...
We have designed and implemented a type inference algorithm for the full Self language. The algorith...
Type-checked object-oriented languages have typically been designed with extremely simple type syste...
SelfType is a programming language feature of object systems which allows both methods and instance ...
Existing type systems for object calculi [2] are based on invariant subtyping. Subtyping invariance ...
AbstractExisting type systems for object calculi are based on invariant subtyping. Subtyping invaria...
AbstractM. Abadi and L. Cardelli have recently investigated a calculus of objects (1994). The calcul...
. We have designed and implemented a type inference algorithm for the full Self language. The algori...
. Since record polymorphism is one of essential factors for object-oriented languages, various appro...
Researchers have studied how to type check self-applicable programs. For example, papers by Rendel, ...
Subtyping is a basic concept in object-oriented languages. It supports subsumption but, unfortunatel...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
We present a type inference system for a language with object-oriented features such as polymorphic ...
We have designed and implemented a type inference algorithm for the full SELF language. The algorit...
Abadi and Cardelli have recently investigated a calculus of objects[2]. The calculus supports a key ...
Existing type systems for object calculi are based on invariant subtyping. Subtyping invariance is r...
We have designed and implemented a type inference algorithm for the full Self language. The algorith...
Type-checked object-oriented languages have typically been designed with extremely simple type syste...
SelfType is a programming language feature of object systems which allows both methods and instance ...
Existing type systems for object calculi [2] are based on invariant subtyping. Subtyping invariance ...
AbstractExisting type systems for object calculi are based on invariant subtyping. Subtyping invaria...
AbstractM. Abadi and L. Cardelli have recently investigated a calculus of objects (1994). The calcul...
. We have designed and implemented a type inference algorithm for the full Self language. The algori...
. Since record polymorphism is one of essential factors for object-oriented languages, various appro...
Researchers have studied how to type check self-applicable programs. For example, papers by Rendel, ...
Subtyping is a basic concept in object-oriented languages. It supports subsumption but, unfortunatel...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
We present a type inference system for a language with object-oriented features such as polymorphic ...