Extending Moby with inheritance-based subtyping

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.


Last modified: April 6, 2004.
Comments to: John Reppy