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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Arnold, K. and J. Gosling. The Java Programming Language. Addison-Wesley, Reading, MA, 2nd edition, 1998.
Bracha, G. and W. Cook. Mixin-based inheritance. In ECOOP’90, October 1990, pp. 303–311.
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.
Fisher, K. Type Systems for Object-oriented Programming Languages. Ph.D. dissertation, Stanford University, August 1996.
Flatt, M., S. Krishnamurthi, and M. Felleisen. Classes and mixins. In POPL’98, January 1998, pp. 171–183.
Fisher, K. and J. Reppy. The design of a class mechanism for Moby. In PLDI’99, May 1999, pp. 37–49.
Fisher, K. and J. Reppy. Foundations for Moby classes. Technical Memorandum, Bell Labs, Lucent Technologies, Murray Hill, NJ, February 1999.
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.
Katiyar, D., D. Luckham, and J. Mitchell. A type system for prototyping languages. In POPL’94, January 1994, pp. 138–161.
Leroy, X. Unboxed objects and polymorphic typing. In POPL’92, January 1992, pp. 177–188.
Leroy, X. A syntactic theory of type generativity and sharing. JFP, 6(5), September 1996, pp. 1–32.
Milner, R., M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, Cambridge, MA, 1990.
Milner, R., M. Tofte, R. Harper, and D. MacQueen. The Definition of Standard ML-Revised 1997. The MIT Press, Cambridge, MA, 1997.
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.
Riecke, J. G. and C. Stone. Privacy via subsumption. In FOOL5, January 1998. A longer version will appear in TAPOS.
Stroustrup, B. The C++ Programming Language. Addison-Wesley, Reading, MA, 3rd edition, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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