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.

Reply via email to