2013-03-13 56 views
-5

我正在尝试在haskell中实现向前/向后链接,它带有一个非常小的数据库,即某种文本文件和基本规则。帮助将不胜感激。由于haskell中的正反向链接

+0

不错,继续! (你应该发布更多信息:你做了什么,你的问题是什么,什么是你的代码不工作......) – kyticka 2013-03-13 17:51:27

+0

我的问题其实是haskell有一个实现我想要的向后和向前链接。帮助将不胜感激。 – chestchindian 2013-03-13 18:15:51

回答

2

这里有一些单子可能会有所帮助:

这些单子已经失败的概念,它会自动回溯到先前的状态(他们以不同的方式原路返回 - 使用哪个取决于你想要的行为)。

如果您正在进行统一,请在其中一个monad上使用StateT,并使用从变量到其值的字典。

有了这些作品,在Haskell中,反向链接逻辑引擎实际上非常小巧和容易。我为我的一个项目写了类似的内容,大约有30行(如果你需要参考,它的后半部分是this file),我怀疑你可以准确地使用它。

警告:尽管这个任务对于一个经验丰富的Haskell程序员来说很简单,但它使用了一些相对先进的概念,所以如果您还不知道Haskell,那么必要的30行将很难提出。首先做一个扩展tutorial

+0

谢谢luqui我在大学做了一点哈斯克尔,都是这样,尽管我不是一个经验丰富的haskell程序员,但是在非常基础的层面上。谢谢大家一样i.m肯定这会非常有帮助。 – chestchindian 2013-03-13 19:23:21