On Tuesday, 25 August 2015 11:20:39 UTC-7, Nathann Cohen wrote: > > Hello everybody, > > In a discussion on a ticket, Dima raised an interesting question: what > are catalogs (i.e. groups.<tab>, codes.<tab>, graphs.<tab>) *supposed* > to contain? > > To me, it seems natural to have "graphs.PetersenGraph", but not > "graphs.Graph" (the class constructor) nor "graphs.DiGraph". > > Similarly, we do not have a "groups.permutations.PermutationGroup" > even though the groups that can be obtained from > "groups.permutations.<tab>" are all permutation groups ! > > It is a needless obstacle from a user point of view, that a non-exposed through catalog or global namespace class has to be explicitly imported (sometimes via an arcane sequence of module names) before one can create an object from it. (Needless to say, such classes are hard to discover, too).
Clearly there are classes with constructors meant to be called directly by a user, and these have to be exposed in one way or another, from useability point of view. (I wrote a bit longer explanation here: http://trac.sagemath.org/ticket/18972#comment:119) > In the present case, we discuss with Dima whether we should include a > class in designs.<tab> (whose role is similar to Graph, or to > IncidenceStructure). It is important to note that this class is *not* > exported in the global namespace. We expect it to be rarely used, > however. > > Nathann > > P.S.: If we make a difference between classes exported in the global > namespace and the others, we cannot have "some classes" in catalog X > because they are not exported, and not have other because those *are* > exported. > -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
