Clovers: The Dynamic Behavior of Types and Instances

Lynn Andrea Stein, Stanley B. Zdonik · 1989

Clovers are a novel mechanism for object-oriented languages that relax the constraints of the conventional type/instance distinction. Clovers provide a new definition of objecthood, 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. 1 Introduction In most object-oriented languages, an object has a single defining "type," often corresponding to its class. This type determines the complete behavior of an object. It is typically not possible to modify this behavior after the object has been created. This view of types and objects simplifies the type systems of object-oriented languages, making...

Read the paper · More papers on PaperTik