Thanks for the advice and the link to the updated element class hierarchy.
If I understand correctly, the consensus is that it's not worth my time fussing over which parent class to use and I might as well just use Parent, and it's *maybe* still worth my time fussing over which element class to use? I remark that maybe when someone qualified has some time it would be worth updating Simon's how-to at http://doc.sagemath.org/html/en/thematic_tutorials/coercion_and_categories.html#base-classes. This bit appears (to me, anyway) to run counter to what I'm hearing here. Sage provides appropriate sub–classes of Parent and Element for a variety of more concrete algebraic structures, such as groups, rings, or fields, and of their elements.... Since we wish to implement a special kind of fields, namely fraction fields, it makes sense to build on top of the base class sage.rings.ring.Field provided by Sage. Again, thanks for the advice. Best, Joe On Friday, August 5, 2016 at 3:51:07 PM UTC-4, Simon King wrote: > > Hi Jeroen, > > On 2016-08-05, Jeroen Demeyer <jdem...@cage.ugent.be <javascript:>> > wrote: > > Pointers are welcome. > > #18756: It makes it possible for a category to define a coerce action > for its objects, providing a multiplication/addition/... for the > elements of the objects. A coerce action can be implemented in Cython > and can use cythoned methods of the elements (think of _lmul_, which is > a cython method). Thus, it is not a problem if the parents are > implemented in Python, as long as the action and the element's helper > methods are implemented in Cython. > > In this ticket, I move all the coercion functionality to Element. > > 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 sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.