适用于prolog问题

时间:2013-02-09 19:57:52

标签: clojure clojure-core.logic

作为开始使用core.logic的一种方式,我决定通过'九十九个Prolog问题'来解决......

https://github.com/rodnaph/99-core-logic-problems

但是在经历了一些问题之后,根据我目前的理解,它并不像core.logic那样是解决这些问题的正确方法(因为它们只需要一个答案)。

我可能误解了关系方法,但我是在咆哮错误的树吗?我应该只使用Prolog吗?

干杯。

1 个答案:

答案 0 :(得分:2)

最初的问题是Prolog,在Prolog中,关系方法是你唯一的方法。这些问题中的大多数实际上是伪装的函数式编程,并且没有使用回溯,因此在Clojure中使用core.logic并不是惯用的。

也就是说,Prolog的一个优点是你经常可以向后运行它们(主要是简单的),以生成所有可能的解决方案。例如,您可以通过向后运行append找到将列表拆分为两个部分的所有方法。