Can it be used as an inference (rule) engine ?
On Apr 9, 2:27 pm, David Nolen <dnolen.li...@gmail.com> wrote: > Logos is finally in good enough shape to be worth publishing to Clojars. > There are really too many changes to enumerate here, but if you're familiar > with Prolog, Logos is now far enough along that you can basically write > Prolog in Clojure and then some. Here's the evidence: > > (defn-e nqueens-o [l] > ([()]) > ([[[?x ?y] . ?others]] > (exist [] > (nqueens-o ?others) > (member-o ?y [1 2 3 4 5 6 7 8]) > (noattack-o [?x ?y] ?others)))) > > (defn-e noattack-o [q others] > ([_ ()]) > ([[?x ?y] [[?x1 ?y1] . ?others]] > (exist [] > (!= ?y ?y1) > (nonrel/project [?y ?y1 ?x ?x1] > (!= (- ?y1 ?y) (- ?x1 ?x)) > (!= (- ?y1 ?y) (- ?x ?x1))) > (noattack-o [?x ?y] ?others)))) > > The big changes are: > > * Pattern matching > * Goals can be tabled a la XSB > * Fairly efficient implementation of disequality constraints (and programs > w/o constraints are not penalized) > > I've been begun porting some examples from Bratko's excellent Prolog book as > a guide for those who are interested > herehttps://github.com/swannodette/bratko-logos. > > A note on performance: when the search space is not small Logos doesn't > perform as well as Prolog since it uses an interleaving strategy, and this > interleaving is currently implemented via liberal thunking. While I'm > interested in making Logos faster, I think many of the kinds of search > problems that are currently slower in Logos than in Prolog are best solved > with Constraint Logic Programming anyhow - which is the next major feature > for Logos. > > Enjoy, > David -- 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