Download:
|
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
|