I'm aware of the existing implementation on github, but as a translation 
from a Scheme implementation it's not very idiomatic. I have a much simpler 
implementation written, but I'm not sure of one of the test results. What 
is the expected output of the following tweaked example from the paper [1]:

> (defi ne ( fives x) (disj (≡ x 5) .(λg (s/c) (λ$ () (.( fives x) 
.s/c))).))
> (defi ne (sixes x) (disj (≡ x 6) (λg (s/c) (λ$ () ((sixes x) s/c)))))
> (defi ne  fives-xor-sixes (call/fresh (λ (x) (conj ( fives x) (sixes 
x)))))
> (fi ves-xor-sixes empty-state)

This is the fives-and-sixes example, replacing a disj with conj. I would 
expect this to produce no results, is that correct?

Sandro

[1] http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf

-- 
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 http://groups.google.com/group/minikanren.
For more options, visit https://groups.google.com/d/optout.

Reply via email to