In this paper we study the interaction of subtyping and parametricity. We describe a logic for a programming language with parametric polymorphism and subtyping. The logic support...
This paper gives the first proof that the subtyping relation of a higherorder lambda calculus, Fω ≤, is anti-symmetric, establishing in the process that the subtyping relation...
Classes play a dual role in mainstream statically-typed object-oriented languages, serving as both object generators and object types. In such languages, inheritance implies subtyp...
In this paper we investigate the object-oriented notion of subtyping in the context of behavioural formalisms. Subtyping in OOformalisms is closely related to the concept of inheri...
While Game Semantics has been remarkably successful at g, often in a fully abstract manner, a wide range of features of programming languages, there has to date been no attempt at...
Using methods drawn from Game Semantics, we build a sound and computationally adequate model of a simple calculus that includes both subtyping and recursive types. Our model solves...
Subtyping rules can be fairly complex for union types, due to interactions with other types, such as function types. Furthermore, these interactions turn out to depend on the calc...
This paper presents O’KLAIM (Object-Oriented KLAIM), a linguistic extension of the higher-order calculus for mobile processes KLAIM with objectoriented features. Processes intera...
This work sets the formal bases for building tools that help retrieve classes in object-oriented libraries. In such systems, the user provides a query, formulated as a set of class...
Nominal subtyping (or user-defined subtyping) and structural subtyping each have their own strengths and weaknesses. Nominal subtyping allows programmers to explicitly express de...