Gabriel Dos Reis <[EMAIL PROTECTED]> writes: > | I think, A add B is (currently) only well defined when the value of Rep in A > | and B is the same. (well, at least roughly the same.) > | > | I admit that I do not understand (yet) why > | > | > my `*' was not being picked if I test with R=Integer. Rather the one from > | > IndexedDirectProductAbelianMonoid was being used, yet my coerce to > OutputForm > | > was used for printing > | > | I'd like to. > > signature subsumption.
Sorry, I do not know what "signature subsumption" means. Could you explain? For what it's worth, I just looked into the Aldor User Guide, how things are done in Aldor. I did not find exactly what I was looking for, but I think I got close: (pg 89) the definitions for ~, \/, and /\ each use the operations 0, 1, and = from MyBit, which are inherited from Integer. These inherited operations are made visible in the add expression by the following rule: whenever an expression A add B appears in a context requiring a domain whose type is the category C, then any operations required by C which are not defined in B are taken from the domain A. I do not know what happens when an operation is defined both in A and B, but I'd expect that the one from B would be taken. Finally, another question: why do think that my optimization proposal (inlining functions in domains) would depend on operations in A add B being chosen from A instead of B? Martin ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ open-axiom-devel mailing list open-axiom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open-axiom-devel