Hi! I can finally announce a new patch for trac ticket #8800, which is ready for review (and depends on #8807, which already has positive review).
The original purpose of the ticket was to raise the doctest coverage of sage.categories.functor and sage.categories.pushout to 100%. But when I tried to construct meaningful doctests, I found numerous bugs or missing features related with coercion. The new ticket description lists roughly 20 bugs that are fixed with the patch. Hence, it was not only a lot of work for me: I acknowledge that it will be substantial work for the reviewer as well. Nevertheless, I hope that some people will have a look at the patch. But in two cases, I am not sure if the features introduced by the patch are what people want, so, I ask here: 1. sage: parent(GF(5)(1)+Integers(5)(1)) Finite Field of size 5 QUESTION: Should that be the *field* or the *ring* of size 5? I think I remember that some person here stated that he would prefer the field, but I don't find the post. 2. sage: K.<r4> = NumberField(x^4-2) sage: L.<r4> = NumberField(x^4-2, embedding=CDF.0) sage: FK = K.fractional_ideal(K.0) sage: FL = L.fractional_ideal(L.0) My patch introduces a forgetful coercion from L to K (as discussed on sage-nt). Hence, FK and FL evaluate equal, after coercion: sage: FK == FL True QUESTION: The difference between "cmp" and "==" is that "cmp" directly calls the __cmp__ method, whereas "==" first does coercion. However, John Cremona stated at sage-nt that he does not want a difference, hence sage: cmp(FK,FL) 0 I implemented __cmp__ for fractional ideals so that "cmp(F1,F2)==0 <=> F1==F2". Is that alright? Best regards, Simon -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org