Hi, the library looks very interesting!
I am also working on a rule based translator as part of expresso [1],
my gsoc project Algebraic Expressions, which uses the rule based
translator
to succinctly specify transformations of algebraic expressions.
You can see some examples of this in my recent blog posts on [2].
It is, of course, most suited for algebraic expressions, but this
means just s-exps in clojure (it is also backed by protocols so even
java interop should be possible).
would clara also be applicable to the domain of algebraic expressions?
If so, how does it compare?
The one cool feature of the rule based translator i like the most is
that it has semantic matching instead of purely syntactical matching.
That means, that for example '+ can specify its own matching algorithm
(in this case commutative matching).
So
(def r (rule (ex (+ 0 ?&*)) :=> (ex (+ ?&*))))
(apply-rule r (ex (+ 0 1 2))) :=> '(+ 1 2)
(apply-rule r (ex (+ 1 0 2))) :=> '(+ 1 2)
?&* here stands for: match zero or more expressions.
[1]
https://github.com/clojure-numerics/expresso
[2]
http://kimavcrp.blogspot.de/
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to
clo...@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+u...@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+u...@googlegroups.com.
> For more options, visit
https://groups.google.com/groups/opt_out.