[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*To*: burdick@ecn.purdue.edu*Subject*: Re: dynamic inheritance -- icons*From*: jackson@parcplace.com (Frank Jackson)*Date*: 25 November 1991 6:17:16 pm*Cc*: self-interest@self.stanford.edu*Fonts*: 2173 1*In-reply-to*: William R Burdick <burdick@ecn.purdue.edu>'s letter of: 23 November 1991

The problem of class-explosion posed by computational domains that inherently require a large or unbounded number of classes has been addressed in Smalltalk without resorting to multiple inheritance. The work that I'm thinking of is described in a paper entitled "A Smalltalk System for Algebraic Manipulation" by S. Kamal Abdali, Guy W. Cherry, and Neil Soiffer. Using classes to model abstract algebra in the obvious way poses the class-explosion problem since, for example, there are potentially an infinite number of algebraic structures to be modeled (i.e., there are an infinite number of groups, rings, etc). I don't know whether this approach is applicable to the problem that you describe, but you might find the paper interesting reading. To give you an idea of their approach, I've reproduced the abstract below: Abstract: "This paper describes the design of an algebra system Views implemented in Smalltalk. Views contains facilities for dynamic creation and manipulation of computational domains, for viewing these domains as various categories such groups rings, or fields, and for expressing algorithms generically at the level of categories. The design of Views has resulted in the addition of some new abstractions to Smalltalk that are quite useful in their own right. Parameterized classes provide a means for run-time creation of new classes that exihibit generally very similar behavior, differing only in minor ways that can be described by different instantiations of certain parameters. Categories allow the abstraction of the common behavior of classes that derives from the class objects and operations satisfying certain laws independently of the implementation of those objects and operations. Views allow the run-time association of classes with categories (and of categories with other categories), facilitating the use of code written for categories with quite different interpretations of operations. Together, categories and views provide an additional mechanism for code sharing that is richer than both single and multiple ineritance. The paper gives algebraic as well as non-algebraic examples of the above-mentioned features." Frank

- Prev by Date:
**Re: dynamic inheritance -- icons** - Next by Date:
**saying arrays** - Previous by thread:
**Re: dynamic inheritance -- icons** - Next by thread:
**saying arrays** - Index(es):