Is there a reason not, as in Add, Mul, etc..., to just have one word and use the evaluate=False to control what happens to it?
Mul(2, 1 + x) -> 2 + 2*x Mul(2, 1 + x, evaluate=0) -> 2*(1 + x) Integral(x) -> x**2/2 Integral(x, evaluate=0) = Integral(x, x) Sum(x, (x, 1, 3)) -> 6 Sum(x, (x, 1, 3), evaluate=0) -> Sum(x, (x, 1, 3)) That 'evaluate' could become 'hold', too, in anticipation of creating such a container for unevaluated Muls... I wouldn't mind the shorter 'do' for it, though, or 'doit' so that s = Sum(x, (x, 1, 3), doit=0) -> Sum(x, (x, 1, 3)) s.doit() -> 6 /c -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sy...@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.