This succeeds:
(run 1 [q]
(distincto q)
(== q [1 2 3])) - ((1 2 3))
But this runs forever:
(run 1 [q]
(distincto q)
(== q [1 2 3 1]))
BTW, why is it so difficult to create a bug report for core.logic? Issue
tracker is not enabled in GitHub. I signed up to http://dev.clojure.org/
This is not a bug, just a result of the evaluation model - order matters.
Bugs can be filed here: http://dev.clojure.org/jira/browse/LOGIC
David
On Mon, Feb 3, 2014 at 12:51 AM, Atamert Ölçgen atamert.olc...@gmail.comwrote:
This succeeds:
(run 1 [q]
(distincto q)
(== q [1 2 3])) -
This is not a bug, just a result of the evaluation model - order matters.
I thought order didn't matter (unless otherwise stated) in core.logic. Is
there a way for me to infer which goals are like this? (by looking at the
code if not from docs)
I am trying to get this working:
(defn geto [c
Termination in Prolog like systems is a hard problem and core.logic doesn't
provide much innovation here yet. I don't have time to look more closely at
your specific program. I recommend looking at a good Prolog text as they
often discuss issues around termination and possible workarounds.
David