Bounded Polymorphism for Extensible Objects

@inproceedings{Liquori1998BoundedPF,
  title={Bounded Polymorphism for Extensible Objects},
  author={Luigi Liquori},
  booktitle={TYPES},
  year={1998}
}
  • L. Liquori
  • Published in TYPES 27 March 1998
  • Mathematics, Computer Science
In the ECOOP'97 conference, the author of the present paper investigated a conservative extension, called Ob1<:+, of the first-order Object Calculus Ob1<: of Abadi and Cardelli, supporting method extension in presence of object subsumption. In this paper, we extend that work with explicit variance annotations and selftypes. The resulting calculus, called Obs<:+, is a proper extension of Ob1<:+. Moreover it is proved to be type sound. 

From Classes to Objects via Subtyping

We extend the Abadi-Cardelli calculus of primitive objects with object extension. We enrich object types with a more precise, uniform, and flexible type structure. This enables to type object

On Object Extension

This paper applies four type systems to the functional Lambda Calculus of Objects and compares these type systems with respect to the following points: - small-step versus big-step semantics; - implicit versus explicit polymorphism; - Curry style versus Church style; - static type checking versus run-time type checking; - object extension and/or binary methods versus object subsumption.

Inferring types for functional methods (where method calls come for free)

A sound (message-not-found preventing) first-order type system featuring width subtyping and a sound and complete type inference algorithm that calculates a principal constrained type or fails.

Dialgebraic Semantics of Typed Object Calculi

This thesis lays a foundation for algebraic programming techniques and laws for typed object calculi ba sed on direcursion, which is one of the more general frameworks available, and arguably the most general framework which supports subtyping.

A framework for composing security-typed languages

This dissertation focuses on the development of type system based security systems for SQL and a dynamic object-oriented language and their applications in the rapidly changing environment.

References

SHOWING 1-10 OF 31 REFERENCES

A lambda calculus of objects and method specialization

An untyped lambda calculus, extended with object primitives that reflect the capabilities of so-called delegation-based object-oriented languages, is presented and type soundness, in the form of a subject-reduction theorem, is proved.

An Extended Theory of Primitive Objects: FIrst Order System

A first-order extension of the Theory of Primitive Objects that supports method extension in presence of object subsumption and has a sound type system which allows static detection of run-time errors such as message-not-understood, width subtyping and a typed equational theory on objects.

An Imperative Object Calculus

An imperative calculus of objects is developed, which includes variance annotations and Self types, and can express classes and inheritance with the addition of polymorphism.

A Theory of Objects

This book takes a novel approach to the understanding of object-oriented languages by introducing object calculi and developing a theory of objects around them, which covers both the semantics of objects and their typing rules.

From Classes to Objects via Subtyping

We extend the Abadi-Cardelli calculus of primitive objects with object extension. We enrich object types with a more precise, uniform, and flexible type structure. This enables to type object

A Delegation-based Object Calculus with Subtying

An untyped object calculus that reflects the capabilities of so-called delegation-based object-oriented languages and type soundness is proved using operational semantics and an analysis of typing derivations.

A Subtyping for the Fisher-Honsell-Mitchell Lambda Calculus of Objects

Labeled types and a new relation between types are added to the lambda calculus of objects as described in [6], and type soundness follows from the subject reduction property.

On Object Extension

This paper applies four type systems to the functional Lambda Calculus of Objects and compares these type systems with respect to the following points: - small-step versus big-step semantics; - implicit versus explicit polymorphism; - Curry style versus Church style; - static type checking versus run-time type checking; - object extension and/or binary methods versus object subsumption.

Toward a typed foundation for method specialization and inheritance

A typed function calculus of objects and classes is presented, featuring method specialization when methods are added or redefined, and the soundness of the typing rules is suggested by a translation into a more traditional calculus with recursively-defined record types.

A Theory of Primitive Objects - Untyped and First-Order Systems

A simple object calculi that support method override and object subsumption, an untyped calculus, typing rules, and equational rules are given, and the expressiveness of these calculi is illustrated.