|
ABSTRACT
The statement S≤T in a &lgr;-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] ∈ [[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. Moreover, inheritance may be implemented very straightforwardly in this setting, using the put functions arising from ordinary subtyping of records in place of the sophisticated systems of record extension and update often used for this purpose. 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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
|
 |
4
|
|
| |
5
|
|
| |
6
|
Luca Cardelli. Notes about F.#.. Unpublished manuscript, October 1990.
|
| |
7
|
|
 |
8
|
|
| |
9
|
|
| |
10
|
|
 |
11
|
|
| |
12
|
|
| |
13
|
Adriana B. Compagnoni and Benjamin C. Pierce. Multiple inheritance via intersection types. Technical Report ECS-LFCS-93-275, LFCS, University of Edinburgh, August 1993. Also available as Catholic University Nijmegen computer science technicM report 93- 18.
|
| |
14
|
|
| |
15
|
Pierre-Louis Curien , Giorgio Ghelli, Coherence of subsumption, minimum typing and type-checking in F≤, Theoretical aspects of object-oriented programming: types, semantics, and language design, MIT Press, Cambridge, MA, 1994
|
| |
16
|
|
| |
17
|
Martin Hofmann and Benjamin Pierce. Positive subtyping. Technical Report ECS-LFCS-94-303, LFCS, University of Edinburgh, September 1994.
|
| |
18
|
|
| |
19
|
|
| |
20
|
Gary T. Leavens. Inheritance of interface specifications (extended abstract). Technical Report TR#93-23, Department of Computer Science, Iowa State University, September 1993.
|
| |
21
|
Wolfgang Naraschewski. Verifikation objektorientierter Programme mit LEGO. Studienarbeit, Universit#it Erlangen, 1994. To appear.
|
| |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
|
|