The theme of this release is rules as data
Yay!
Great job Ryan. I look forward to checking out your changes.
On Thu, Feb 6, 2014 at 10:15 PM, Ryan Brush rbr...@gmail.com wrote:
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.
--
-- http://blog.fogus.me
-- http://github.com/fogus
--
--
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.