Clojure prolog问题的适用性

Clojure prolog问题的适用性,clojure,clojure-core.logic,Clojure,Clojure Core.logic,作为开始使用core.logic的一种方式,我决定解决“99个Prolog问题” 但在仅仅解决了几个问题之后,从我目前的理解来看,它不像core.logic那样是解决这些问题的正确方法(因为它们只需要一个答案) 我可能误解了关系方法,但我是不是找错了方向?我应该只用Prolog吗 干杯。最初的问题是针对Prolog的,在Prolog中,关系方法是唯一的方法。这些问题中的大多数实际上是伪装的函数式编程,并且没有使用回溯,因此在Clojure中,使用core.logic来解决这些问题并不是惯用的方

作为开始使用core.logic的一种方式,我决定解决“99个Prolog问题”

但在仅仅解决了几个问题之后,从我目前的理解来看,它不像core.logic那样是解决这些问题的正确方法(因为它们只需要一个答案)

我可能误解了关系方法,但我是不是找错了方向?我应该只用Prolog吗


干杯。

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

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