Ralf Hemmecke <[EMAIL PROTECTED]> writes:

| Dear William,
| 
| On 03/04/2006 05:31 PM, William Sit wrote:
| > Hi Gabe:
| > Gabriel Dos Reis wrote:
| >> William Sit <[EMAIL PROTECTED]> writes:
| 
| > Agreed in theory, not in practice.  We should distinguish two issues: (1)
| > derived  operations that depend only on the defining operations should be
| > generically implemented and inherited, and (2) how to handle the notations
| > (equivalently, identifiers in computer science terminology) for the defining
| > operations and derived operations.
| 
| By (1) you probably mean to say something like
| 
| define PrimitiveType: Category == with {
|       =: (%, %) -> Boolean;
|       ~=: (%, %) -> Boolean;
|      default { (a:%) ~= (b:%):Boolean == ~(a = b); }
| }
| 
| I must say that I liked this idea of "default implementations" when
| I've encountered it. But it also introduces all the complications with
| multiple inheritance.

Inheritance usually does not mary well with genericity, despite the
usual OO propaganda.  :-(

-- Gaby


_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to