【发布时间】:2011-05-06 00:11:27
【问题描述】:
我尝试在 clojure 中使用 mini-kanren 的实现。但是一直在努力理解 cond-a cond-u 和 cond-e 之间的区别。我似乎对 cond-e 很清楚,但对 cond-a 和 cond-u 的理解却很糟糕。
cond-e 获取一组目标,然后尝试每个目标......即尝试所有成功的分支。
cond-a 和 cond-u 相反提交到第一个谓词成功的分支,并且 cond-a 返回之后所有可能的成功统一。而 cond-u 只返回第一个成功的统一......但是当我使用它时,这种理解似乎是不正确的。有人可以帮我澄清一下这种理解吗?
【问题讨论】:
标签: clojure prolog the-little-schemer minikanren