Tech Report CS-89-42

Clovers: The Dynamic Behavior of Types and Instances

Lynn Andrea Stein and Stanley B. Zdonik

November 1989


Clovers are a new mechanism for object-oriented languages that relax the constraints of the conventional type/instance distinction. Clovers provide a new definition of object-hood, in which a single object may consist of multiple overlapping representations, sharing aspects of both behavior and identity. We show how clovers can be used to implement multiple views, changes to the type of an object, and expanded type notions such as minimal template. We argue that Clovers provide a useful unification of the type/instance relaxations that have been presented in the literature, such as versioning, prototypes, and boolean classes.

(complete text in pdf)