Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-14 Thread Ryan Brush
I'm less familiar with Waltz. It looks like a good way to exercise some worst-case scenarios in the rule engines as well. Like Ms Manners I don't think this is a very representative usage pattern but it could expose problems in extreme cases. -Ryan On Wednesday, May 14, 2014 8:28:41 AM UTC-5,

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-14 Thread ru
Hello Ryan, Have you look at Waltz test? You may be interested of this. Its CLIPS source is in examples folder of rete4frames. -Ru понедельник, 12 мая 2014 г., 17:47:44 UTC+4 пользователь ru написал: > > New feature: added Java interface. Eclipse project example. > > Home: https://github.com/ru

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-14 Thread Ryan Brush
Hey Ru, I avoided Miss Manners simply because it doesn't represent the usage patterns I have or expect, so I just have been profiling against the data I have for my use case. Of course, Ms Manners may be a a better reflection of your needs, in which case it could be a good benchmark. Micro-ben

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-14 Thread ru
Dave. It is a very good advice. Initially I tried to do as simple as possible. Now I will try to follow your advice and check what performance impact it may has. Ryan. RETE algorithm is a very basic and can be applied to a broad spectrum of tasks not only to expert systems. For example, I use i

[ANN] Clojure RETE implementation - CLIPS-like expert system

2014-05-13 Thread Ryan Brush
Hi Tim, Yes. Clara does Rete-style structural sharing of equivalent rule constraints, and then compiles those constraints into Clojure expressions. This actually happens when a rule session is created for a set of rules, but this is memoized by default so you only pay that cost the first time.

[ANN] Clojure RETE implementation - CLIPS-like expert system

2014-05-13 Thread daly
Ryan, Does this system compile the left hand sides into a shared data structure? Tim Daly -- 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 -

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-13 Thread Ryan Brush
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 toward

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-13 Thread Dave Sann
this code (and the related create) is unusual: (defn reset [] "Reset: clear and initialize all memories" (def =AMEM= (object-array @ACNT)) (def =BMEM= (object-array =BCNT=)) (def =FMEM= (create-fmem =TEMPL=)) (def =FMMB= (create-fmem =TEMPL=)) (def =FIDS= (HashMap.)) (def CFSET (atom

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-13 Thread ru
Alan. You absolutely right! Clojure must return thinking of programmers back to solving problems from vanity and narcissism of unnecessary complexity :) I certainly will look on Clara more attentively and may be switch to it in my applications. cheers, Ru понедельник, 12 мая 2014 г., 17:47:

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-13 Thread Alan Moore
It would be interesting to compare rete4frames with clara-rules and maybe some other clojure-based RETE implementation. Having spent some time with Clara and only looked over rete4frames it is clear that Clara has been heavily optimized for working with collections/accumulators. Especially int

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-12 Thread ru
Before creating own rete implementation I have used in my applications Drools for several years. Drools is becoming more and more complex and in the end ceased to support my applications. I decided to create my own implementation as simple as possible to have a full control and quick search in

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-12 Thread Alan Moore
On Monday, May 12, 2014 10:29:03 AM UTC-7, da...@axiom-developer.org wrote: > > Forgy's RETE is a self-modifying data structure. > How is this handled in Clojure? > The clara-rules approach treats (no pun intended) the working memory as a value, from the readme.md: "Embrace immutability. The

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-12 Thread Alan Moore
Nice... good to see another implementation. Have you seen clara-rules by Ryan Brush? It is actually a modified/optimized RETE but faithful to the basic design. See: https://github.com/rbrush/clara-rules Alan On Monday, May 12, 2014 6:47:44 AM UTC-7, ru wrote: > > New feature: added Java int

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-12 Thread ru
This implementation does not strictly support principles of functional programming, immutability and so on. Clojure used mostly for simplicity of programming, specifically in right hand sides of the rules and helper functions. Moreover, it is extensively uses Java HashMaps directly for better p

Re: [ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-12 Thread u1204
Forgy's RETE is a self-modifying data structure. How is this handled in Clojure? Tim Daly -- 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 - p

[ANN] Clojure RETE implementation - CLIPS-like expert system shell. New version 4.3

2014-05-12 Thread ru
New feature: added Java interface. Eclipse project example. Home: https://github.com/rururu/rete4frames Have fun! Sincerely, Ru -- 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 tha