An exemplar based Smalltalk

  • Authors:
  • Wilf R. LaLonde;Dave A. Thomas;John R. Pugh

  • Affiliations:
  • Carleton Univ., Ottawa, Ontario, Canada;Carleton Univ., Ottawa, Ontario, Canada;Carleton Univ., Ottawa, Ontario, Canada

  • Venue:
  • OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
  • Year:
  • 1986

Quantified Score

Hi-index 0.00

Visualization

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.