The 0.4.0 release of Clara is up on Clojars. The github page is at [1].

The theme of this release is "rules as data", which I wrote about at [2]. 
In a nutshell, all rules and the Rete network itself are defined by 
well-defined data structures (via Prismatic Schema), which opens a lot of 
doors:

* Alternate front ends to Clara can now be written, generating rules in the 
schema-compliant format. If the "defrule"-style DSL isn't your thing, you 
can generate rules via any mechanism you want.
* Tooling can now be written to inspect the rules and their relationships, 
with some examples in the blog at [2].
* The Rete network itself is also a schema-defined data structure, opening 
the door for visualizing the working memory itself. 

There are some breaking changes for the ClojureScript support: I moved the 
logic to generate a Rete network in ClojureScript to be driven at compile 
time...meaning we can assemble an optimized network on the server, rather 
than having the client do that computation every time it loads. Details and 
an example are linked at [3]. I haven't yet used the ClojureScript version 
"in anger", but am maintaining it because there is interest and it's cool 
to see this running in a browser. ;)

I expect future releases to be smaller and more frequent. Getting Clara on 
a solid basis of well-defined structures was a significant effort, but I 
think it puts it in a stronger position with a number of advantages over 
existing rule engines.

[1]
https://github.com/rbrush/clara-rules
[2]
http://www.toomuchcode.org/blog/2014/01/19/rules-as-data/
[3]
https://github.com/rbrush/clara-rules/wiki/ClojureScript

-- 
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.

Reply via email to