## Positive Subtyping (1994)

### Cached

### Download Links

- [www.lfcs.inf.ed.ac.uk]
- [www.cs.indiana.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | Information and Computation |

Citations: | 51 - 8 self |

### BibTeX

@INPROCEEDINGS{Hofmann94positivesubtyping,

author = {Martin Hofmann and Benjamin Pierce},

title = {Positive Subtyping},

booktitle = {Information and Computation},

year = {1994},

pages = {235--282}

}

### Years of Citing Articles

### OpenURL

### Abstract

The statement S T in a -calculus with subtyping is traditionally interpreted as 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 coercion and an overwriting function put[S; T ] 2 [[S]]![[T ]]![[S]] that updates the T part of an element of S.

### Citations

758 | On understanding types, data abstraction, and polymorphism
- Cardelli, Wegner
- 1985
(Show Context)
Citation Context ...ds of different types, a single definition of bump must clearly be polymorphic in the type of the state, i.e. it should have a type like bump 2 All (Xfx:Intg) X!X; as suggested by Cardelli and Wegner =-=[CW85]-=-. Unfortunately, given the standard semantics of subtyping, this type is not inhabited by any useful functions [RT88]. In effect, the constraint Xfx:Intg is too weak to allow an element e of X to be m... |

485 | A semantics of multiple inheritance - Cardelli - 1988 |

302 | Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem
- Bruijn
- 1972
(Show Context)
Citation Context ...bound on either the right of the left of the turnstile. This is equivalent to regarding alphabetic variable names as informal abbreviations for an underlying representation based on de Bruijn indices =-=[dB72]-=-, and implies the usual conventions about name capture during substitution, alpha-conversion, side-conditions concerning freshness of names, etc. It also follows from this point of view that the names... |

267 |
Semantics of Programming Languages: Structures and Techniques. Foundations of Computing
- Gunter
- 1992
(Show Context)
Citation Context ...e we say that A is a subper of B. 4.1.1 Fact: Let A and B be pers and m;n 2 dom(A!B). Then m fA!Bg n iff 8x2dom(A): m \Delta x fBg n \Delta x: For more information on standard properties of pers, see =-=[Gun92]-=-. 13 4.2 The interpretation of subtyping 4.2.2 Definition: We say that A is an updatable subper of B, written AsB, if A is a subper of B and there exists a morphism p 2 A ! (B!A) satisfying the three ... |

158 | Simple type-theoretic foundations for object-oriented programming
- Pierce, Turner
- 1994
(Show Context)
Citation Context ...ules. We take a more elementary approach, first studying update in a general setting and later apply our treatment to add high-level update to the primitive object model proposed by Pierce and Turner =-=[PT94]-=-. In Sections 2, 3, and 4 we introduce the syntax, equational theory, and semantics of a positive variant of the calculus F of second-order bounded quantification [CMMS94, CG92]. Section 5 gives a sma... |

142 | Operations on records - Cardelli, Mitchell - 1989 |

141 | A Denotational Semantics of Inheritance
- Cook
- 1989
(Show Context)
Citation Context ...ed a notation for predicates on programs and a framework for showing that a function preserves a predicate. Second, to assign a value to self when creating objects, a fixed-point combinator is needed =-=[Coo89]-=-. Such combinators come in several forms, with varying degrees of power and technical complexity. We consider these points in order. 6.1.1 A Simple Equational Logic for Positive F We introduce a set o... |

117 | A paradigmatic object-oriented programming language: Design, static typing and semantics
- Bruce
- 1994
(Show Context)
Citation Context ...ed points of all possible extensions of its methods; the corresponding subtyping rule for object types allows extension of the set of methods but no refinement of the types of existing methods. Bruce =-=[Bru94]-=- allows methods to update instance variables, again restricting subtyping to extensions of the collection of instance variables. In these systems, the entities subject to update are complex data struc... |

116 | Inheritance as implicit coercion
- Breazu-Tannen, Coquand, et al.
- 1991
(Show Context)
Citation Context ...terms of untyped computations given by the per model in Section 4. However, we conjecture that the reduction relation can be shown to be strongly normalizing by a translation into pure System F (c.f. =-=[BCGS91]-=-). 3.2 Equality The reduction rules do not fully specify the behavior of put[S; T ] when S and T contain variables. For reasoning about programs, the equational theory generated by reduction is thus i... |

111 | An extension of system F with subtyping - Mitchell, Scedrov - 1991 |

105 | Functional Programming and Input/Output - Gordon - 1993 |

102 | Bounded quantification is undecidable - Pierce - 1994 |

87 | A modest model of records, inheritance, and bounded quantification - Bruce, Longo |

78 | A Theory of Primitive Objects: Untyped and First-Order Systems
- Abadi, Cardelli
- 1994
(Show Context)
Citation Context ...sense. Other recent papers show a related tendency to tune the definition of subtyping to achieve soundness of various forms of updating constructs. Abadi and Cardelli's calculus of primitive objects =-=[AC94]-=-, for example, allows individual methods of objects to be replaced in running programs. Soundness of this update is achieved by interpreting an object type with a semantic union over fixed points of a... |

71 | Three approaches to type structure - Reynolds - 1985 |

63 | A semantic basis for Quest - Cardelli, Longo - 1991 |

62 | A per model of polymorphism and recursive types - Abadi, Plotkin - 1990 |

48 |
Recursion over realizability structures
- Amadio
- 1991
(Show Context)
Citation Context ...terpreted using partial functions and general recursion. We see no obstacle to modifying our semantics so as to accommodate partial functions (using, for example, the complete, uniform pers of Amadio =-=[Ama91]-=-) and refining our equational theory accordingly, to support inequational reasoning. However, many examples arising from object-oriented practice obey a more restrained discipline in which self is use... |

43 |
Type algebras, functor categories, and block structure
- Oles
- 1985
(Show Context)
Citation Context ...tself leaves s unchanged. 3. Updating s with t 1 2 T and then with t 2 2 T yields the same result as performing just the second update. Laws similar to these arise in Oles' category of "state sha=-=pes" [Ole85]-=-. This coincidence [pointed out to us by John Reynolds and Bob Tennent] is reassuring, since Oles is also concerned with the semantics of update, though he works in a setting that does not involve sub... |

37 | A unifying type-theoretic framework for objects - Hofmann, Pierce - 1994 |

35 | Two semantic models of object-oriented languages - Kamin, Reddy - 1994 |

32 | Polarized Higher-Order Subtyping - Steffen - 1998 |

32 | Notes on typed object-oriented programming - Fisher, Mitchell - 1994 |

21 | Notes about F ! <:. Unpublished manuscript - Cardelli - 1990 |

19 |
Extensible records in a pure calculus of subtyping. Research report 81, DEC/Compaq Systems Research Center
- Cardelli
- 1992
(Show Context)
Citation Context ...sion of pers. ffl E-Top is immediate from the interpretation of Top as the maximal per. ffl The three put-laws follow from the soundness of subtyping and Definition 4.2.2. 5 Encoding Records Cardelli =-=[Car92]-=- has shown how record types and values can be encoded in a calculus with just products and Top in such a way that the expected subtyping and typing rules can be derived. We give a simple version of th... |

12 | Subtyping in F ! is decidable - Compagnoni - 1994 |

12 | Multiple inheritance via intersection types - Compagnoni, Pierce - 1993 |

10 | Higher-order subtyping. Theoretical Computer Science - Pierce, Steffen - 1997 |

8 | modular specification, and modular verification for applicative objectoriented programs - Subtyping - 1992 |

6 | Inclusions and Subtypes - Marti-Oliet, Meseguer - 1990 |

4 |
Bounded quantification and record-update problems. Message to Types electronic mail list
- Robinson, Tennent
- 1988
(Show Context)
Citation Context ...ld have a type like bump 2 All (Xfx:Intg) X!X; as suggested by Cardelli and Wegner [CW85]. Unfortunately, given the standard semantics of subtyping, this type is not inhabited by any useful functions =-=[RT88]-=-. In effect, the constraint Xfx:Intg is too weak to allow an element e of X to be manipulated in any nontrivial way, aside from throwing away all the information in e except the x field. In particular... |

3 | Inheritance of interface specifications (extended abstract
- Leavens
- 1994
(Show Context)
Citation Context ...cal verification of object-oriented programs along similar lines [Nar94]. The relationship of these reasoning techniques to the literature on nontype -theoretic object-oriented verification (see e.g. =-=[Lea93]-=-) remains unexplored. 6.1 Technical Preliminaries Before starting, we need a little technical machinery. First, we want a logic in which proofs about programs may be phrased --- a many-sorted, first-o... |

1 |
Verifikation objektorientierter Programme mit Lego
- Naraschewski
- 1994
(Show Context)
Citation Context ... this will now concern us here. Naraschewski, in collaboration with Hofmann, has used the LEGO proof checker to experiment with mechanical verification of object-oriented programs along similar lines =-=[Nar94]-=-. The relationship of these reasoning techniques to the literature on nontype -theoretic object-oriented verification (see e.g. [Lea93]) remains unexplored. 6.1 Technical Preliminaries Before starting... |