2017-04-20 46 views
2

我對Haskell mongoDB驅動程序和access函數的返回類型有一些困難。據the hackage documentationthe tutorial on the haskell-mongodb github pageaccess應該有類型訪問函數不返回失敗a

MonadIO m => Pipe -> AccessMode -> Database -> Action m a -> m (Either Failure a) 

然而,在我的代碼,本地Hoogle查詢的類型推斷,和the source code,沒有任何涉及。他們都表示我仍然很新的哈斯克爾,所以我毫不猶豫地跳到結論,即文檔的作者是錯誤的類型

MonadIO m => Pipe -> AccessMode -> Database -> Action m a -> m a 

,但是從我的角度受挫,感覺等的情況。

這是monad/kind tricketing,我誤解了文檔,或者是文檔不正確?

回答

0

您對版本不匹配感到困惑。版本1.3.2 on GitHub在返回類型中也有Either

+0

並且[當前文檔](https://hackage.haskell.org/package/mongoDB-2.2.0/docs/Database-MongoDB-Query.html#g:1)沒有,儘管教程和對當前版本的評論仍然引用'Either'返回類型。截至發佈時,這是[GitHub上的開放問題](https://github.com/mongodb-haskell/mongodb/issues/67)。感謝您指出了這一點。 – jcolemang