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.
