哈斯克尔的前后链接

时间:2013-03-13 17:46:19

标签: haskell artificial-intelligence expert-system

我试图在haskell中使用非常小的数据库实现前向/后向链接,即某种文本文件和基本规则。帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:2)

以下是一些可能有帮助的monad:

这些monad有一个失败的概念,它会自动回溯到以前的状态(它们以不同的方式回溯 - 使用哪个取决于你想要的行为)。

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

使用这些部分,后向链逻辑引擎在Haskell中实际上非常小且容易。我为大约30行中的一个项目编写了类似的东西(它位于this file的后半部分,如果你想要一个引用。我怀疑你是否能够完全使用它。)。

警告:虽然这个任务对于有经验的Haskell程序员来说很容易,但是它使用了一些相对高级的概念,所以如果你还不知道Haskell,那么必须提供必要的30行。首先进行扩展tutorial