Category framework and cleanup
While expanding the category framework I found in sage and in particular in the file parent.pyx many things that are done in a programatic way and that I think will be much better if done in a mathematical declarative way. I put rather than on the mailing list because it should be referenced and modified... Eventually all these should end as trac ticket.
Note that this will raise many problems because inheriting from Parent (a class) has the priority from inheriting from a category.
an_element, some_element should be handled by the category Sets()
mathematical comparison (see mailing lists discussion about < and sys-order) should be handled by a category OrderedSets() and TotallyOrderedSets() (or OrderedSets() and PartialyOrderedSets() whether it sounds more familiar to the english native people or not (remember non-negative )
list and __iter__ through a set should be handled by EnumeratedSets()
Parent -> ParentMethods, Element -> ElementMethods
- Element as nested in Parent
- lookup for Element in all super classes of the parent
- super_categories, ..., generators as methods, not attributes (not yet convinced for one/product/coproduct)
- Fix the stupid inheritance for morphisms
- Better inheritance handling for covariant functors
- meet of categories
tensor_product -> tensor