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

Reply via email to