An exemplar based Smalltalk
- 1 June 1986
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 21 (11) , 322-330
- https://doi.org/10.1145/960112.28729
Abstract
Two varieties of object-oriented systems exist: one based on classes as in Smalltalk and another based on exemplars (or prototypical objects) as in Act/1. By converting Smalltalk from a class based orientation to an exemplar base, independent instance hierarchies and class hierarchies can be provided. Decoupling the two hierarchies in this way enables the user's (logical) view of a data type to be separated from the implementer's (physical) view. It permits the instances of a class to have a representation totally different from the instances of a superclass. Additionally, it permits the notion of multiple representations to be provided without the need to introduce specialized classes for each representation. In the context of multiple inheritance, it leads to a novel view of inheritance (or-inheritance) that differentiates it from the more traditional multiple inheritance notions (and-inheritance). In general, we show that exemplar based systems are more powerful than class based systems. We also describe how an existing class based Smalltalk can be transformed into an exemplar-based Smalltalk and discuss possible approaches for the implementation of both and-inheritance and or-inheritance.Keywords
This publication has 4 references indexed in Scilit:
- Using prototypical objects to implement shared behavior in object-oriented systemsPublished by Association for Computing Machinery (ACM) ,1986
- Message/Object Programming: An Evolutionary Change in Programming TechnologyIEEE Software, 1984
- TraitsPublished by Association for Computing Machinery (ACM) ,1982
- The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation LaboratoryACM Transactions on Programming Languages and Systems, 1981