On Fri, Mar 23, 2012 at 3:11 AM, Joachim Durchholz <[email protected]> wrote: > Am 23.03.2012 01:39, schrieb Aaron Meurer: > >> To me, evaluation and immutability are completely separate. > > > Agreed. > > >> We should >> >> have separate subclasses to do each (UnevaluatedImmutableMatrix is >> probably better than ImmutableMatrix(evaluate=False)). > > > That will create a proliferation of classes. Mutable/Immutable and > Evaluated/Unevaluated is already four combinations; any additional property > would double the number of classes needed.
Yeah, I was thinking about that too. I guess we should determine what should be a separate class and what can just be a property of the class. I think immutability should definitely be a separate class, because this is a fundamental property in Python. I'm not sure about evaluation. Ronan's pointed out some of the issues that can come from making it a property. Also, as Matthew noted, I guess evaluation should really be a property of the container object, not the object itself. So we wouldn't really need an UnevaluatedImmutibleMatrix, just an UnevaluatedMatrixMul. By the way, I think that an unevaluated Matrix would have to be immutable, because that's how Mul (and hence MatrixMul) works. So there are really only three types of classes. Aaron Meurer -- 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.
