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.


Reply via email to