Skip to main content

Extending Moby with Inheritance-Based Subtyping

  • Conference paper
  • First Online:
ECOOP 2000 — Object-Oriented Programming (ECOOP 2000)

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

Included in the following conference series:

Abstract

Classes play a dual role in mainstream statically-typed object-oriented languages, serving as both object generators and object types. In such languages, inheritance implies subtyping. In contrast, the theoretical language community has viewed this linkage as a mistake and has focused on subtyping relationships determined by the structure of object types, without regard to their underlying implementations. In this paper,we explore why inheritance-based subtyping relations are useful and we present an extension to the MOBY programming language that supports both inheritance-based and structural subtyping relations. In addition, we present a formal accounting of this extension.

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 39.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. Arnold, K. and J. Gosling. The Java Programming Language. Addison-Wesley, Reading, MA, 2nd edition, 1998.

    Google Scholar 

  2. Bracha, G. and W. Cook. Mixin-based inheritance. In ECOOP’90, October 1990, pp. 303–311.

    Google Scholar 

  3. Bruce, K., L. Cardelli, G. Castagna, The Hopkins Object Group, G. Leavens, and B. Pierce. On binary methods. TAPOS, 1(3), 1996, pp. 221–242.

    Google Scholar 

  4. Fisher, K. Type Systems for Object-oriented Programming Languages. Ph.D. dissertation, Stanford University, August 1996.

    Google Scholar 

  5. Flatt, M., S. Krishnamurthi, and M. Felleisen. Classes and mixins. In POPL’98, January 1998, pp. 171–183.

    Google Scholar 

  6. Fisher, K. and J. Reppy. The design of a class mechanism for Moby. In PLDI’99, May 1999, pp. 37–49.

    Google Scholar 

  7. Fisher, K. and J. Reppy. Foundations for Moby classes. Technical Memorandum, Bell Labs, Lucent Technologies, Murray Hill, NJ, February 1999.

    Google Scholar 

  8. Igarashi, A., B. Pierce, and P. Wadler. Featherweight Java: A minimal core calculus for Java and GJ. In OOPSLA’99, November 1999, pp. 132–146.

    Google Scholar 

  9. Katiyar, D., D. Luckham, and J. Mitchell. A type system for prototyping languages. In POPL’94, January 1994, pp. 138–161.

    Google Scholar 

  10. Leroy, X. Unboxed objects and polymorphic typing. In POPL’92, January 1992, pp. 177–188.

    Google Scholar 

  11. Leroy, X. A syntactic theory of type generativity and sharing. JFP, 6(5), September 1996, pp. 1–32.

    Google Scholar 

  12. Milner, R., M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, Cambridge, MA, 1990.

    Google Scholar 

  13. Milner, R., M. Tofte, R. Harper, and D. MacQueen. The Definition of Standard ML-Revised 1997. The MIT Press, Cambridge, MA, 1997.

    Google Scholar 

  14. Pierce, B. C. and D. N. Turner. Statically typed friendly functions via partially abstracttypes. Technical Report ECS-LFCS-93-256, University of Edinburgh, LFCS, April 1993. Also available as INRIA-Rocquencourt Rapport de Recherche No. 1899.

    Google Scholar 

  15. Riecke, J. G. and C. Stone. Privacy via subsumption. In FOOL5, January 1998. A longer version will appear in TAPOS.

    Google Scholar 

  16. Stroustrup, B. The C++ Programming Language. Addison-Wesley, Reading, MA, 3rd edition, 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fisher, K., Reppy, J. (2000). Extending Moby with Inheritance-Based Subtyping. In: Bertino, E. (eds) ECOOP 2000 — Object-Oriented Programming. ECOOP 2000. Lecture Notes in Computer Science, vol 1850. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45102-1_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-45102-1_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67660-7

  • Online ISBN: 978-3-540-45102-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics