On 29 May 2014 09:40, Nicolas M. Thiery <nicolas.thi...@u-psud.fr> wrote: > Hi Simon, > > On Wed, May 28, 2014 at 03:36:09PM +0000, Simon King wrote: >> Are you sure that this is a problem? In order to construct ZZ, we need >> CommutativeAdditiveGroups()---which is already there. Now, someone does >> Modules(ZZ)---and of course we can make it so that it returns >> CommutativeAdditiveGroups(). >> >> In other words, the suggestion is that Modules(ZZ) returns >> CommutativeAdditiveGroups(), not the other way around. > > Hmm. Good point. Well, that's not enough: if we just do this, then you > would not get in Modules(ZZ) all the code that is provided by the > Modules category. But along this direction, and using #15801, we could > think of: > > - Modules(ZZ) returns CommutativeAdditiveGroups() > - CommutativeAdditiveGroups() inherits from Modules(Rings()) > > Still there is something smelly left: with this, we have Modules(QQ) > inherit from Modules(ZZ)=CommutativeAdditiveGroups() which itself > inherits from Modules(Rings()). So we have two categories on top of > each other providing the same code, with one where implicitly we think > base_ring=QQ and the other base_ring=ZZ. It might not be a problem, > but this needs some exploring, testing, thinking out. I am not > volunteering, but if someone is, great. >
Good points: obviously evert Q-module is also a Z-module but there are questions which have a different answer depending on which category you are talking about. For example, *.is_noetherian(): Q is Noetherian as a Q-module but not as a Z-module (which I'm afraid caught out several students in an exam they took a week ago!) John > Cheers, > Nicolas > -- > Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> > http://Nicolas.Thiery.name/ > > -- > 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 http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. -- 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 http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.