I'm glad the coercion model is starting to get discussed, implemented, and used by other people. Before it gets to popular, I would like to propose an api change.
Currently, if A has an action on B (where B is not an A-module) one implements either a._l_action_ or b._r_action_. This is because sometimes it makes sense to put the method on the actor (e.g. Galois groups acting on field elements) and sometimes on the acted on (e.g. matrices acting on quadratic forms). However, the _x_action_ is hard to remember and doesn't always correspond to right/left actions. This may be why they're hardly used up to this point. The proposal is to make the methods a._act_on_(b, self_on_left) and b._acted_upon_(a, self_on_left). In other words, a*b would try "a._act_on_(b, True)" and "b._acted_upon_(a, False)". This wouldn't be a fundamental change on how things work, just mainly a naming change, but I though it would be a good idea to run it by here. - Robert --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---