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. 

On Object Extension

TLDR
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)

TLDR
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

TLDR
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

TLDR
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.

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

References

SHOWING 1-10 OF 31 REFERENCES

An Extended Theory of Primitive Objects: FIrst Order System

TLDR
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

TLDR
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

TLDR
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.

A Delegation-based Object Calculus with Subtying

TLDR
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

TLDR
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

TLDR
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

TLDR
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

TLDR
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.

Notes on Typed Object-Oriented Programming

TLDR
This paper summarize and compare three object models used in the theoretical literature, and considers approaches to a few technical problems, including changes in the type of a method from super (base) class to sub (derived) class and the use of types that give information about the implementations as well as the interfaces of objects.

Self: The power of simplicity

TLDR
Because SELF does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures, and offers new insights into object-oriented computation.