I used CLIPS (another forward-chaining rule system) for several years, and the way I tend to explain it to people is that it is the best tool for the job when your code would look like an enormous cond with thousands of cases, executed over and over, because:
1. The Rete algorithm can "jump to the right branch" more efficiently than testing each case one by one in some linear order. 2. When you have thousands of cases, it can be difficult to ensure that they are in exactly the right order and/or don't overlap. Forward-chaining systems let you express the cases more declaratively and apply precedence rules judiciously rather than thinking about precedence all the time. I think a forward-chaining system would also make a great foundation for a project that requires some sort of dataflow architecture. I agree with Ryan that it tends to be useful in different contexts than constraint solvers. -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.