Happy New Year everyone!

I met Fabian in Paris 2 weeks ago and we discussed the way forward with
the new assumption system. We agreed that the complexity and size of
class Basic is a serious roadblock. So the idea is to have Basic deal
only with argument storage and expression manipulation (pattern
matching, substitutions, etc.) and to move everything that requires
arithmetic operations to be defined into a new class - provisionally
named Expr - deriving from Basic. That way, Basic could be defined
without referring to any of its subclasses and the amount of circular
imports could be reduced.

I've started work on this in my github branch split_Basic
[http://github.com/rlamy/sympy/tree/split_Basic] and it has been
surprisingly painless: I didn't need to do much more than move methods
in sympy/core/basic.py and replace most references to Basic with Expr
elsewhere. Once all relevant methods have been pulled from Basic, I'll
move Expr to its own file. There'll be some refactoring of tests to do
and I hope it'll be possible to get full test coverage of Basic without
referring to any subclass.

I'm waiting for your comments.

Ronan

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.


Reply via email to