2013-02-09 22 views
2

,以此來開始使用core.logic我決定通過「九十九Prolog的問題」的工作......適宜序言問題

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

但經過短短的問題,從我目前瞭解它並不像core.logic是解決這些問題的正確方法(因爲它們只需要一個答案)。

我可能會誤解關係方法,但是我吠叫了錯誤的樹嗎?我應該只使用Prolog嗎?

乾杯。

回答

2

原始問題是Prolog,在Prolog中,關係方法是唯一的問題。這些問題中的大多數實際上是變相的函數式編程,並且不使用回溯,所以在Clojure中,對它們使用core.logic並不是慣用的。

也就是說,Prolog的一個很好的東西是,你經常可以反向運行它們(主要是簡單的),以產生所有可能的解決方案。例如,可以通過向後運行append找到將列表分成兩部分的所有方法。