2014-04-20 17:28 UTC+02:00, John H Palmieri <jhpalmier...@gmail.com>: > > > On Friday, April 18, 2014 4:22:59 PM UTC-7, Travis Scrimshaw wrote: >> >> Hey everyone, >> On http://trac.sagemath.org/ticket/15289 I'm implementing monoids and >> groups indexed by an arbitrary set of generators and Nicolas and I would >> like your input on some possible idioms. >> >> * Is anyone opposed to removing Free* from the global namespace and >> instead accessing free objects via their respective category. For example, >> >> instead of `FreeGroup(blah)` we access it by `Groups().free(blah)` and >> `FreeAlgebra(R, blah)` becomes `Algebras(R).free(blah)`. However this >> partially conflicts with http://trac.sagemath.org/ticket/15801, we could >> work around it by passing in the base ring as before. I do like this idiom >> >> since it has a more category-theoretic feel. >> > > For the sake of tab completion, and for consistency with how other groups > are accessed, you should be able to do "groups.free(...)" also. Without > this and with just Groups().free(...), it might be hard to figure out how > to create free groups. Should we have a top-level "algebras" object with > the same kind of functionality? Probably not a bad idea.
+1 Moreover, what do we do if there are several implementations of let say FreeGroup ? -- 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.