Hi Simon, Thanks for your reply. I think I see the source of my confusion.
Best, Joe On Saturday, August 6, 2016 at 4:31:37 PM UTC-4, Simon King wrote: > > Hi John, > > On 2016-08-06, Joseph Hundley <[email protected] <javascript:>> wrote: > > 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. > > Well, I believe it *does* make sense to use pre-existing stuff. > > Let me phrase it as follows: > - The category framework is flexible enough to deal with complicated cases > in which the actual category of an instance depends on the arguments > used to determine the instance. > - The category framework is strong enough so that a plain Parent is a > sufficient base class. > - From the perspective of speed, a well-chosen element class seems more > important to me than a well-chosen parent class. > - In order to obtain the same flexibility for elements that we have for > parents, I think it is a good idea to make > sage.structure.element.Element fully functional. > > But even when everything can be done with Parent and Element and > categories: Why should one *not* use existing base classes such as > sage.rings.ring.Field if one implements something that certainly is > a field? > > 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 https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
