On Fri, Apr 30, 2010 at 3:04 PM, Ronan Lamy <ronan.l...@gmail.com> wrote: > Le vendredi 30 avril 2010 à 14:23 -0700, Ondrej Certik a écrit : >> On Fri, Apr 30, 2010 at 6:26 AM, jegerjensen <jensen.oyv...@gmail.com> wrote: >> >> Also, shouldn't this go into sympy.core? >> >> >> >> Ondrej >> >> """ >> > >> > That is probably a good idea. Where should we put the decorator >> > _tuple_wrapper? Or should the decorator be removed? We could instead >> > let sympify() wrap the tuples. >> >> So this patch is +1 from me. Do you think you can upload it into >> github? I'll try to merge it using github tools, just to learn it. >> >> We can move it into the core in some other package. What is the idea >> behind SymTuple? Why is it needed? Can this be added into it's class >> docstring, together with some example? > > Wait. From what I understand, this patch defeats the purpose of having a > Tuple type, which is to avoid encountering a non-sympy type such as > tuple when walking an expression tree. This makes SymTuple(a_tuple).args > = (a_tuple,). > > There are 2 fundamental invariants that all instances of Basic should > obey: obj.func(*obj.args) == obj and all(isinstance(x, Basic) for x in > obj.args). The fact that some objects (Integral, etc.) break this is a > serious annoyance and SymTuple should be part of the solution.
Ah, I think I can see the motivation --- it would be used inside the integral, so that you can do: obj.func(*obj.args) ? Very nice! This should be well documented. As to your "Wait." --- is there any problem with the current patch? Ondrej -- You received this message because you are subscribed to the Google Groups "sympy-patches" group. To post to this group, send email to sympy-patc...@googlegroups.com. To unsubscribe from this group, send email to sympy-patches+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy-patches?hl=en.