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

Reply via email to