Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 952))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 74.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M., Baby Modula-3 and a theory of objects. Journal of Functional Programming 4(2), 249–283. 1994.

    Article  MATH  Google Scholar 

  2. Abadi, M. and L. Cardelli, A theory of primitive objects: untyped and first-order systems. Proc. Theoretical Aspects of Computer Software. Springer-Verlag. 1994.

    Google Scholar 

  3. Abadi, M. and L. Cardelli, A semantics of object types. Proc. IEEE Symposium on Logic in Computer Science, 332–341. 1994.

    Google Scholar 

  4. Abadi, M. and L. Cardelli, A theory of primitive objects: second-order systems. Proc. ESOP’94-European Symposium on Programming. Springer-Verlag. 1994.

    Google Scholar 

  5. Abadi, M. and L. Cardelli, An imperative object calculus. Proc. FASE’95-Formal Approaches in Software Engineering (to appear). Springer-Verlag. 1995.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. Amadio, R.M., Recursion over realizability structures. Information and Computation 91(1), 55–85. 1991.

    Article  MATH  MathSciNet  Google Scholar 

  8. Amadio, R.M. and L. Cardelli, Subtyping recursive types. ACM Transactions on Programming Languages and Systems 15(4), 575–631. 1993.

    Article  Google Scholar 

  9. Bruce, K.B., A paradigmatic object-oriented programming language: design, static typing and semantics. Journal of Functional Programming 4(2), 127–206. 1994.

    Article  MATH  MathSciNet  Google Scholar 

  10. Bruce, K.B., L. Cardelli, G. Castagna, The Hopkins Object Group, G.T. Leavens, and B. Pierce, On binary methods. (To appear.) 1995.

    Google Scholar 

  11. Bruce, K.B. and G. Longo, A modest model of records, inheritance and bounded quantification. Information and Computation 87(1/2), 196–240. 1990.

    Article  MATH  MathSciNet  Google Scholar 

  12. 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.

    Google Scholar 

  13. Bruce, K.B., A. Schuett, and R. van Gent, PolyTOIL: a type-safe polymorphic object-oriented language. Proc. ECOOP’95. Springer-Verlag. 1995.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. Cardelli, L., A semantics of multiple inheritance. Information and Computation 76, 138–164. 1988.

    Article  MATH  MathSciNet  Google Scholar 

  16. Cardelli, L. and G. Longo, A semantic basis for Quest. Journal of Functional Programming 1(4), 417–458. 1991.

    Article  MATH  MathSciNet  Google Scholar 

  17. Cardelli, L. and J.C. Mitchell, Operations on records. Mathematical Structures in Computer Science 1(1), 3–48. 1991.

    Article  MATH  MathSciNet  Google Scholar 

  18. 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.

    Article  MATH  MathSciNet  Google Scholar 

  19. 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.

    Chapter  Google Scholar 

  20. Compagnoni, A.B., Higher-order subtyping with intersection types. Ph.D. Thesis, Cip-Data Koninklijke Bibliotheek, Den Haag, Nijmegen. 1995.

    Google Scholar 

  21. Cook, W., W. Hill, and P. Canning, Inheritance is not subtyping. Proc. Seventeenth Annual ACM Symposium on Principles of Programming Languages. 1990.

    Google Scholar 

  22. 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.

    Article  MATH  MathSciNet  Google Scholar 

  23. Danforth, S. and C. Tomlinson, Type theories and object-oriented programming. ACM Computing Surveys 20(1), 29–72. 1988.

    Article  MATH  MathSciNet  Google Scholar 

  24. Day, M., R. Gruber, B. Liskov, and A.C. Myers, Abstraction mechanisms in Theta. MIT. 1994.

    Google Scholar 

  25. 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.

    Google Scholar 

  26. 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.

    Google Scholar 

  27. Gunter, C.A. and J.C. Mitchell, ed., Theoretical Aspects of Object-Oriented Programming. MIT Press. 1994.

    Google Scholar 

  28. Harper, R. and B. Pierce, A record calculus based on symmetric concatenation. Proc. 18th Annual ACM Symposium on Principles of Programming Languages. 1991.

    Google Scholar 

  29. Hofmann, M. and B.C. Pierce, A unifying type-theoretic framework for objects. Proc. Symposium on Theoretical Aspects of Computer Science. 1994.

    Google Scholar 

  30. Katiyar, D., D. Luckham, and J.C. Mitchell, Polymorphism and subtyping in interfaces. ACM SIGPLAN Notices 29(8), 22–34. 1994.

    Article  Google Scholar 

  31. MacQueen, D.B., G.D. Plotkin, and R. Sethi, An ideal model for recursive polymorphic types. Information and Control 71, 95–130. 1986.

    Article  MATH  MathSciNet  Google Scholar 

  32. 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.

    Google Scholar 

  33. Nelson, G., ed. Systems programming with Modula-3. Prentice Hall. 1991.

    Google Scholar 

  34. Steffen, M. and B.C. Pierce, Higher-order subtyping. Technical Report ECS-LFCS-94-280. University of Edinburgh. 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics