2017-04-20 74 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