Thumbnail
Access Restriction
Open

Author Reppy, John H. ♦ Riecke, Jon G.
Source CiteSeerX
Content type Text
File Format PDF
Language English
Subject Domain (in DDC) Computer science, information & general works ♦ Data processing & computer science
Subject Keyword General Encoding ♦ Class-based Implementation Inheritance ♦ Standard Ml ♦ Method Invocation ♦ Object Ml ♦ Static Member ♦ Simple Object ♦ Unique Object Constructor ♦ Sml Module System Mac86 ♦ Simple Case ♦ Various Class-based Feature ♦ Cardelli Ac95 ♦ Previous Work Rr96 ♦ Module System Mac86 ♦ Multiple Inheritance ♦ Self Parameter ♦ Interface Type ♦ Simple Mean
Description This paper describes a simple means for encoding classes in Object ML (OML) [RR96] using the Standard ML (SML) module system [Mac86]. In previous work [RR96], we showed how to mimic class-based implementation inheritance in some simple cases, but we did not know how to extend that to all methods (we had problems with methods that return "self"). This paper describes a general encoding of class-based implementation inheritance in OML, using the SML module system [Mac86]. In addition to handling all methods, we also show how to encode other various class-based features, such as static members, protected members, and multiple inheritance. OML extends SML with support for simple objects and subtyping. Following Abadi and Cardelli [AC95], objects are constructed directly, and methods take a "self" parameter that, upon method invocation, is bound to the object itself. In contrast to Abadi and Cardelli's system, OML requires declarations of the subtyping hierarchy and the interface types of objects. These declarations also introduce unique object constructors
Educational Role Student ♦ Teacher
Age Range above 22 year
Educational Use Research
Education Level UG and PG ♦ Career/Technical Study
Learning Resource Type Article
Publisher Date 1996-01-01
Publisher Institution In Third Workshop on Foundations of ObjectOriented Languages