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.

Reply via email to