Comment #3 on issue 2684 by [email protected]: Deepcopy does not work on evaluate False
http://code.google.com/p/sympy/issues/detail?id=2684
Actually, __reduce__ and __reduce_ex__ bypass the standard pickling and copy protocols, so it would be nicer to avoid using them. However, pickling (protocol 2) and copying build the new instance by calling its constructor with some specifiable arguments, but without keyword arguments, and since 'evaluate' is keyword-only, there's no way to set it to False.
So, implementing __reduce__ is necessary, but even then, it's not straightforward to get it to do what we need: see http://stackoverflow.com/questions/5238252/unpickling-new-style-with-kwargs-not-possible . We need to have a picklable function without keyword arguments that can rebuild an object without evaluating it, or perhaps one that creates a blank object, but I'm not sure of what the best option is.
-- You received this message because you are subscribed to the Google Groups "sympy-issues" 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-issues?hl=en.
