MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Positive subtyping (1996) [61 citations — 11 self]

Download:
Download as a PDF | Download as a PS
by Martin Hofmann, Benjamin Pierce
Information and Computation
http://www.cs.indiana.edu/ftp/pierce/pos.ps.gz
Add To MetaCart

Abstract:

To appear in Information and Computation The statement S T in a-calculus with subtyping is traditionally interpreted by a semantic coercion function of type [[S]]![[T]] that extracts the "T part " of an element of S. If the subtyping relation is restricted to covariant positions, this interpretation may be enriched to include both the implicit coercion and an overwriting function put [S; T] 2 [[S]]![[T]]![[S]] that updates the T part of an element of S. We give a realizability model and a sound equational theory for a second-order calculus of positive subtyping. Though weaker than familiar calculi of bounded quantification, positive subtyping retains sufficient power to model objects, encapsulation, and message passing, and inheritance. The equational laws relating the behavior of coercions and put functions can be used to prove simple properties of the resulting classes in such a way that proofs for superclasses are "inherited " by subclasses. 1

Citations

777 On understanding types, data abstraction, and polymorphism – Cardelli, Wegner - 1985
513 A semantics of multiple inheritance – Cardelli - 1988
246 Semantics of Programming Languages – Structures and Techniques – Gunter - 1992
233 Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser Theorem – Bruijn - 1972
184 Simple type-theoretic foundations for objectoriented programming – Pierce, Turner - 1994
155 Operations on records – Cardelli, Mitchell - 1994
137 A paradigmatic object-oriented programming language: Design, static typing and semantics – Bruce - 1994
134 A Denotational Semantics of Inheritance – Cook - 1989
117 A.Scedrov: An extension of system F with subtyping – Cardelli, Martini
109 Functional Programming and Input/Output – Gordon - 1994
108 Inheritance as implicit coercion – Breazu-Tannen, Coquand, et al. - 1991
106 A modest model of records, inheritance, and bounded quantification – Bruce, Longo - 1990
102 Bounded quantification is undecidable – Pierce - 1992
78 A semantic basis for QUEST – Longo, Cardelli - 1990
77 A theory of primitive objects: Untyped and first-order systems – Abadi, Cardelli - 1996
65 Three Approaches to Type Structure – Reynolds - 1985
54 A per model of polymorphism and recursive types – Abadi, Plotkin - 1990
50 A unifying type-theoretic framework for objects. Jo urnal of Functional Programming – Hofmarm, Pierce - 1995
45 Recursion over realizability structures – Amadio - 1991
35 Two semantic models of object-oriented languages – Kamin, Reddy - 1994
33 Notes on Typed Object-Oriented Programming – Fisher, Mitchell - 1994
31 Type algebras, functor categories and block structure – Oles - 1985
27 Notes about F ! !: . Unpublished manuscript – Cardelli - 1990
26 Polarized Higher-Order Subtyping – Steffen - 1994
21 Extensible records in a pure calculus of subtyping. Research report 81 – Cardelli - 1992
14 Multiple inheritance via intersection types – Compagnoni, Pierce - 1993
11 Higher-order subtyping. Theoretical Computer Science – Pierce, Steffen - 1997
10 Inclusions and Subtypes – Mart'i-Oliet, Meseguer - 1990
9 Subtyping in F ! is decidable – Compagnoni - 1994
8 Modular Specification, and Modular Verification for Applicative Object-Oriented Programs – Subtyping - 1994
5 Inheritance of interface specifications (extended abstract – Leavens - 1994
4 Bounded quantification and record-update problems. Message to Types electronic mail list – Robinson, Tennent - 1988
1 Verifikation objektorientierter Programme mit Lego – Naraschewski - 1994