2013-03-13 48 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