>> I've brought this one up before. How do folks feel about having the >> named permutation groups available like graphs are? In other words, >> rather than each family of permutation groups being a new class, there >> is a single system-wide object ("groups", or "perm_groups") whose >> methods produce instances of permutation groups (or more generally, >> just groups). So for example, >> >> D=groups.DihedralGroup(7) >> >> would replace the above syntax. Advantages - namespace is less >> cluttered, and tab-completion (groups.<tab>) gives precise one-stop >> shopping for examples of specific groups. > > I'm +1 to a group object like this, but removing things from the top level > namespace is backwards incompatable and could break a lot of code out there.
What is wrong with using sage.misc.misc.deprecation? > As for classes vs. methods, one advantage of classes is that sometimes > certain methods can be simplified/optimized if you know what specific group > you have. I might be off on what you are trying to say, and I'm not fully pro with gap but I believe depending class inheritance with group theory is inherently too weak. Applicable methods installed into operations that are dynamically chosen at runtime based on some fitness criteria (what gap has) seems smarter than dynamic classes (operations chosen by class hierarchy only). This applies specifically to group theory, where there are many different ways to deal with groups, and some properties are more important than others when dealing with different functions. http://www.gap-system.org/Manuals/doc/htm/tut/CHAP008.htm#SECT002 I might be a gap fan boy here, but having many attributes in a small number of classes with many private functions that are called from public ones seems more robust than an extremely large class hierarchy. -bill -- 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