It's cool to see different approaches to Rete in Clojure. I think a solid 
implementation could really disrupt Drools. Why would I want to write in a 
limited rule language if I can get rule-like semantics and the 
expressiveness of Clojure at the same time? Of course I'm going to be 
biased towards Clara, but more important is the fact that Clojure provides 
a stronger foundation for expert systems than anything else out there. This 
is an opportunity for Clojure to make inroads. 

Regarding the benchmarking questions, I'm sure Drools will run Ms. Manners 
and other benchmarks faster than Clara at this point. This is partially 
because I've emphasized correctness and simplicity in Clara first, although 
I've recently started doing some significant profiling and optimizations. 
But Ms. Manners is really a poor example of typical rule engine use...it 
was created specifically to exercise some worst case scenarios. It's also 
constraint-oriented, so I'd actually use core.logic to solve that problem 
before I'd use any forward-chaining approach.

More important is to ask whether a system is fast enough for your needs. I 
gladly pay some overhead for persistent data structures because they are 
fast enough and save me a lot of time. (And I can spend that time 
optimizing the real bottlenecks of the program!)  These advantages tend to 
pay off in surprising ways, such as the recent excitement around how fast 
React and Om are. Clara will get optimized, but not at the cost of Clojure 
ideals like immutability.

In any case, it's great to see activity around Rete in Clojure. Clara was 
designed for a particular problem space I've been working in, but it's 
certainly not the only approach we should consider.

-- 
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/d/optout.

Reply via email to