There are a couple of bugs around clp(fd) I simply haven't had time to look
into and unlikely too anytime soon sadly. You might want to check JIRA to
see what other users have reported -
https://dev.clojure.org/jira/browse/LOGIC

Patches are welcome of course!

David

On Sat, Oct 28, 2017 at 1:31 PM, Pierre Baille <[email protected]>
wrote:

> Hello Everyone!
>
> I'm starting with core.logic, i'm trying to implement a simple relation
>
> But the results are incomplete.
>
> does anybody can help me to understand what I'm doing wrong here?
>
> assuming core.logic aliased as l, and core.logic.fd :as fd
>
>     (defn zip+o [rel l1 l2 l3]
>        (conde
>          [(== () l1) (== () l2) (== () l3)]
>          [(fresh [fl1 rl1 fl2 rl2 fl3 rl3]
>             (l/conso fl1 rl1 l1)
>             (l/conso fl2 rl2 l2)
>             (fd/in fl1 fl2 fl3 (fd/interval 100))
>             (fd/+ fl1 fl2 fl3)
>             (zip+o rel rl1 rl2 rl3))]))
>
>     (run* [q]
>        (fresh [a b]
>               (== q [a b])
>               (zip+o a b [2 2])))
>     ;=>
>     ([(0 0) (2 2)]
>      [(1 0) (1 2)]
>      [(2 0) (0 2)])
>
> but the result should be:
>
>     ([(0 0) (2 2)]
>      [(1 0) (1 2)]
>      [(2 0) (0 2)]
>      [(0 1) (2 1)]
>      [(0 2) (2 0)]
>      [(1 1) (1 1)]
>      [(1 2) (1 0)]
>      [(2 1) (0 1)]
>      [(2 2) (0 0)])
>
> In the other way it seems to work:
>
>     (run* [q]
>         (zip+o [1 1] [3 3] q))
>
>     ;=> ((4 4))
>
> --
> You received this message because you are subscribed to the Google Groups
> "minikanren" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/minikanren.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"minikanren" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/minikanren.
For more options, visit https://groups.google.com/d/optout.

Reply via email to