Hi Joseph, For what it's forth, I may tell what is done in SageManifolds (metaticket #18528 <https://trac.sagemath.org/ticket/18528>): SageManifolds involves many parent classes. All of them are implemented as direct subclasses of Parent. Their algebraic structures (group, free module, non-free module, commutative algebra) are set by the category (i.e. via the keyword argument 'category' in Parent.__init__). The corresponding element classes are implemented as subclasses of Sage specific classes: MultiplicativeGroupElement, ModuleElement, CommutativeAlgebraElement.
Best wishes, Eric. -- 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 https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.