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,
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
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
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
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.
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 -
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
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
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:
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
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
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
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
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
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
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
16 matches
Mail list logo