Dear Bill, Ralf, *, > Your explanation looks good but then I thought: What about those categories > in Axiom that take a member of some domain as a parameter. If this parameter > does not appear in any export of the category then surely this same "error" > would occur right?
Funny, I thought about the same thing just yesterday evening. So at *least* this discussion was very educative! I'd just like to restate what I'm looking for, since I have the feeling that we might meanwhile talk about different purposes: In the following "category" is reserved for the Axiom/Aldor meaning of the word. I do not know much about the mathematical thing. I'd like to have a category Monoid and a category Ring and say that Integer is a Ring. If I ask *something* like Integer has Monoid(+) I'd like to get true. If I ask *something* like Integer has Monoid(*) I'd like to get true. For other operations I'd like to get false. I'd like that Integer has an operation double, that uses the monoidSquare from Monoid(+), an operation square that uses the monoidSquare from Monoid(*). I imagine that I would be able to define it somehow like double(a:%):% == monoidSquare(a)$Monoid(+) I'd like that if X has Monoid(+) then op x := monoidSquare(x)$X uses the operation monoidSquare from Monoid(+), if X inherits from Monoid(+). Here it should use the implementation "just before there are two identical signatures". For example, there could be a category derived from Monoid called AbelianMonoid, with a default for "monoidSquare". Then the above line should use the default from AbelianMonoid, if Integer is an AbelianMonoid. Similarly for X has Monoid(*). I think it would be best if monoidSquare would be unavailable in Integer, if not qualified like monoidSquare(x)$Monoid(+) or as above. I would be happy also if only the above form "if X has Monoid(+)"... would work. Martin _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
