Well alright. Since the discussion is supposed to be done publicly, I think Sachin and I can discuss this on IRC. So, I have written an email to him inviting him to IRC, today 21:00 IST.
Also, the API suggested by Stefan looks like something to go forward with, albeit with some changes. For the mutability issue : Just as Aaron suggested, we do really *need* the objects to be mutable. Doing something as `expr = expr.method()` also works just fine. Then there is the problem of ScalarField + ScalarField == ScalarField. I think as long as we use different variables in different frames, we can just drop the whole concept of a ScalarField class. Then, we need to address the problem with Vector. What does the Vector inherit from? Taking a hint from the tensor module, I think we can have a VectorExpr class that inherits from Basic so that x == x.func(*x.args) holds. Vector shall then inherit from VectorExpr. Then we can have VectAdd and VectMul classes as Matthew suggested which inherit from VectorExpr as well. This would take care of garbage input problems. Till the time we discuss this on IRC, can I have your opinions on this approach? -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy?hl=en-US. For more options, visit https://groups.google.com/groups/opt_out.