Abstract
A relation between recursive object types, called matching, has been proposed as a generalization of subtyping. Unlike subtyping, matching does not support subsumption, but it does support inheritance of binary methods. We argue that matching is a good idea, but that it should not be regarded as a form of F-bounded subtyping (as was originally intended). We show that a new interpretation of matching as higher-order subtyping has better properties. Matching turns out to be a third-order construction, possibly the only one to have been proposed for general use in programming.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abadi, M., Baby Modula-3 and a theory of objects. Journal of Functional Programming 4(2), 249–283. 1994.
Abadi, M. and L. Cardelli, A theory of primitive objects: untyped and first-order systems. Proc. Theoretical Aspects of Computer Software. Springer-Verlag. 1994.
Abadi, M. and L. Cardelli, A semantics of object types. Proc. IEEE Symposium on Logic in Computer Science, 332–341. 1994.
Abadi, M. and L. Cardelli, A theory of primitive objects: second-order systems. Proc. ESOP’94-European Symposium on Programming. Springer-Verlag. 1994.
Abadi, M. and L. Cardelli, An imperative object calculus. Proc. FASE’95-Formal Approaches in Software Engineering (to appear). Springer-Verlag. 1995.
Abadi, M. and G. Plotkin, A per model of polymorphism and recursive types. Proc. 5th Annual IEEE Symposium on Logic in Computer Science, 355–365. 1990.
Amadio, R.M., Recursion over realizability structures. Information and Computation 91(1), 55–85. 1991.
Amadio, R.M. and L. Cardelli, Subtyping recursive types. ACM Transactions on Programming Languages and Systems 15(4), 575–631. 1993.
Bruce, K.B., A paradigmatic object-oriented programming language: design, static typing and semantics. Journal of Functional Programming 4(2), 127–206. 1994.
Bruce, K.B., L. Cardelli, G. Castagna, The Hopkins Object Group, G.T. Leavens, and B. Pierce, On binary methods. (To appear.) 1995.
Bruce, K.B. and G. Longo, A modest model of records, inheritance and bounded quantification. Information and Computation 87(1/2), 196–240. 1990.
Bruce, K.B. and J.C. Mitchell, PER models of subtyping, recursive types and higher-order polymorphism. Proc. 19nd Annual ACM Symposium on Principles of Programming Languages, 316–327. 1992.
Bruce, K.B., A. Schuett, and R. van Gent, PolyTOIL: a type-safe polymorphic object-oriented language. Proc. ECOOP’95. Springer-Verlag. 1995.
Canning, P., W. Cook, W. Hill, W. Olthoff, and J.C. Mitchell, F-bounded polymorphism for object-oriented programming. Proc. ACM Conference on Functional Programming and Computer Architecture, 273–280. 1989.
Cardelli, L., A semantics of multiple inheritance. Information and Computation 76, 138–164. 1988.
Cardelli, L. and G. Longo, A semantic basis for Quest. Journal of Functional Programming 1(4), 417–458. 1991.
Cardelli, L. and J.C. Mitchell, Operations on records. Mathematical Structures in Computer Science 1(1), 3–48. 1991.
Cardelli, L., J.C. Mitchell, S. Martini, and A. Scedrov, An extension of system F with subtyping. Information and Computation 109(1–2), 4–56. 1994.
Cardone, F., Relational semantics for recursive types and bounded quantification. Proc. Automata, Languages and Programming, 164–178. Lecture Notes in Computer Science 372. Springer-Verlag. 1989.
Compagnoni, A.B., Higher-order subtyping with intersection types. Ph.D. Thesis, Cip-Data Koninklijke Bibliotheek, Den Haag, Nijmegen. 1995.
Cook, W., W. Hill, and P. Canning, Inheritance is not subtyping. Proc. Seventeenth Annual ACM Symposium on Principles of Programming Languages. 1990.
Curien, P.-L. and G. Ghelli, Coherence of subsumption, minimum typing and type-checking in F≤. Mathematical Structures in Computer Science 2(1), 55–91. 1992.
Danforth, S. and C. Tomlinson, Type theories and object-oriented programming. ACM Computing Surveys 20(1), 29–72. 1988.
Day, M., R. Gruber, B. Liskov, and A.C. Myers, Abstraction mechanisms in Theta. MIT. 1994.
Eifrig, J., S. Smith, V. Trifonov, and A. Zwarico, An interpretation of typed OOP in a language with state. Proc. OOPSLA’94, 16–30. 1994.
Girard, J.-Y., Interpretation fonctionelle et élimination des coupures dans l’arithmétique d’ordre supérieur. Thèse de doctorat d’état, University of Paris. 1972.
Gunter, C.A. and J.C. Mitchell, ed., Theoretical Aspects of Object-Oriented Programming. MIT Press. 1994.
Harper, R. and B. Pierce, A record calculus based on symmetric concatenation. Proc. 18th Annual ACM Symposium on Principles of Programming Languages. 1991.
Hofmann, M. and B.C. Pierce, A unifying type-theoretic framework for objects. Proc. Symposium on Theoretical Aspects of Computer Science. 1994.
Katiyar, D., D. Luckham, and J.C. Mitchell, Polymorphism and subtyping in interfaces. ACM SIGPLAN Notices 29(8), 22–34. 1994.
MacQueen, D.B., G.D. Plotkin, and R. Sethi, An ideal model for recursive polymorphic types. Information and Control 71, 95–130. 1986.
Mitchell, J.C., Toward a typed foundation for method specialization and inheritance. Proc. 17th Annual ACM Symposium on Principles of Programming Languages, 109–124. 1990.
Nelson, G., ed. Systems programming with Modula-3. Prentice Hall. 1991.
Steffen, M. and B.C. Pierce, Higher-order subtyping. Technical Report ECS-LFCS-94-280. University of Edinburgh. 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Abadi, M., Cardelli, L. (1995). On Subtyping and Matching. In: Tokoro, M., Pareschi, R. (eds) ECOOP’95 — Object-Oriented Programming, 9th European Conference, Åarhus, Denmark, August 7–11, 1995. ECOOP 1995. Lecture Notes in Computer Science, vol 952. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49538-X_8
Download citation
DOI: https://doi.org/10.1007/3-540-49538-X_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60160-9
Online ISBN: 978-3-540-49538-3
eBook Packages: Springer Book Archive