Hi!

At trac tickets #18756 and #18758, I see strange build errors. There are
loads of compilation errors related with graphs. But the tickets do not
touch the code that fails to build. What is happening there?

Besides, I'd appreciate a review of the two tickets. The aim is to make
using Sage's coercion model easier. Namely, we always say "do not
override double underscore __mul__, but implement single underscore
_mul_ if you want to implement multiplication". But the point is:
- If one just inherits from Element, then single underscore _mul_ is
  ignored, since it has no __mul__ in the first place.
- If one inherits from ModuleElement, then the attempt to multiply two
  elements of the module results in an error.
- Only if one inherits from RingElement or if one has a Python-subclass
  of Element and inherits multiplication from the category of Magmas
  then the promise concerning single underscore _mul_ is kept.

With the two tickets, it ALWAYS becomes possible to implement the product
of two elements of the same parent by means of single underscore _mul_.
Also, if one wants to implement an action of one parent on another
parent, then this action can now be implemented by the category
framework (formerly, it was only possible to do it on the level of
parents).

Best regards,
Simon

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to