2013-02-09 23 views
2

,以此来开始使用core.logic我决定通过“九十九Prolog的问题”的工作......适宜序言问题

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

但经过短短的问题,从我目前了解它并不像core.logic是解决这些问题的正确方法(因为它们只需要一个答案)。

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

干杯。

回答

2

原始问题是Prolog,在Prolog中,关系方法是唯一的问题。这些问题中的大多数实际上是变相的函数式编程,并且不使用回溯,所以在Clojure中,对它们使用core.logic并不是惯用的。

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