Program using distincto runs forever.

2014-02-02 Thread Atamert Ölçgen
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/

Re: Program using distincto runs forever.

2014-02-02 Thread David Nolen
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])) -

Re: Program using distincto runs forever.

2014-02-02 Thread Atamert Ölçgen
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

Re: Program using distincto runs forever.

2014-02-02 Thread David Nolen
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