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.

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.

Reply via email to