Ha, well, we already do this in some cases, no? This is similar to having unevaluated operations like Integral in the tree. I guess the difference here is that we're expanding this practice to more algorithmic and less mathematical operations. I suppose in an ideal Lisp world we wouldn't have to make a separate Integral object, we would just not evaluate or `quote the integrate function.
When we first brought up the rules/strategies idea Aaron suggested that they be objects rather than higher order functions. This would give you an unevaluated expression tree that you could play with (here the expressions are things like factor -> expand, not things like x+y). This is a reasonable way to do things. At some point this stops being symbolic math and starts being symbolic computation or symbolic symbolic math.... :-) On Thu, Nov 22, 2012 at 5:56 PM, Stefan Krastanov < [email protected]> wrote: > Please, do not take this too seriously!!! > > Basic (as in "head of an expression tree") has the signature > > *expression_trees -> expression_tree > > A rule has the signature > > expression_tree -> expression_tree > > So a rule is just a special case of Basic. How cool will it be to have > expression trees like > > factor(expand(hundreds_of_MBs_of_Expr)) > > and being able to evaluate this without doing the `expand` (yes, it is > a bad example, but you get the idea). > > Now it is the time to mention Greenspuns Tenth Rule Of Programming > http://c2.com/cgi/wiki?GreenspunsTenthRuleOfProgramming > > And to remind you that this was already discussed many months ago: > https://groups.google.com/forum/?fromgroups=#!topic/sympy/fCQEdSQybTM > > But python is not lisp and this will probably never happen. > > -- > 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. > > -- 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.
