【发布时间】:2021-04-02 13:27:36
【问题描述】:
对 Haskell 来说是全新的,我将不胜感激。
在 Prolog 中实现谓词,利用一些减少解决方案空间的约束,使整体实现不是天真的/蛮力的,这非常容易。但是现在我必须处理 Haskell,我不知道该怎么做。
鉴于在某个时间点 P1 我会选择说 A1,而在稍后的时间点 P2 我会选择说 A1不遵守我的约束的strong>A2我怎样才能回到P1并在Haskell中做出不同的选择?
我现在学习 Haskell 2 天了,根据我的阅读,这可能是可行的,方法是在函数内部声明一个函数,或者使用我不太理解和困惑的 monad。
您能否将我链接到/显示一些简单的选择它 - 将其置于约束下 谓词,这些谓词使用回溯 - 最好没有单子 - 这样我就可以绕过它?
【问题讨论】:
-
@MichaelLitchard 这个问题更多的是关于 Haskell 中的回溯。
-
@MichaelLitchard 编辑了问题,以便更准确地反映我的需要。
标签: haskell recursion functional-programming backtracking