| | |
Summary: Under consideration for publication in Math. Struct. in Comp. Science
Polarized Subtyping for Sized Types
ANDREAS ABEL +
Department of Computer Science, University of Munich
Oettingenstr. 67, D80538 M˜unchen, Germany
abel@tcs.ifi.lmu.de
Received March 15, 2006
We present an algorithm for deciding polarized higherorder subtyping without bounded
quantification. Constructors are identified not only modulo #, but also #. We give a direct proof of
completeness, without constructing a model or establishing a strong normalization theorem.
Inductive and coinductive types are enriched with a notion of size and the subtyping calculus is
extended to account for the arising inclusions between the sized types.
1. Introduction
Polarized kinding and subtyping has recently received interest in two contexts. First, in the analy
sis of container types in objectoriented programming languages (Duggan & Compagnoni, 1998).
If List A is a functional (meaning: readonly) collection of objects of type A and A is a subtype
(subclass) of B then List A should be a subtype of List B. However, for readwrite collections, as
for instance Array, such a subtyping relation is unsound + , hence these two collection constructors
must be kept apart. The conventional modelling language for object types, System F #
#
|