当前位置:  开发笔记 > 前端 > 正文

如何使用mongoDB绑定haskell

如何解决《如何使用mongoDB绑定haskell》经验,为你挑选了1个好方法。

我对Haskell很新,但我觉得我对所有人都有一个很好的理解.

我目前正在尝试使用haskell的非官方mongoDB绑定.

如果你看一下这里的代码:http://github.com/srp/mongoDB/blob/master/Database/MongoDB.hs

connect :: HostName -> [ConnectOpt] -> IO Connection
connect = flip connectOnPort (Network.PortNumber 27017)

如您所见,此方法返回/解析为IO连接.

但是,实际上与数据库交互的所有方法都将一个简单的Connection作为参数.例如:

disconnect :: Connection -> IO ()
disconnect = conClose

我认为这里有一些基本的东西我不理解,也许IO与IO Monad的一部分有关?我真的很无能为力,并且想知道是否有人有任何关于此事的光明.

如何在mongoDB绑定中同步到连接的IO连接?

感谢您提供的任何输入.



1> Don Stewart..:

我认为这里有一些基本的东西我不理解

恩,那就对了.您只是想知道Haskell如何区分具有纯代码副作用的代码.要使用以IO类型结尾的代码,请使用do-notation.例如

main = do
   c <- connect "myhost" []
   print "connected!"
   disconnect c

< - 是一个"绑定",它运行副作用代码,并返回结果.在这种情况下,类型为"连接".

阅读Haskell IO,例如Real World Haskell,http://book.realworldhaskell.org/read/io.html

请务必仔细阅读黑线鳕过,http://hackage.haskell.org/packages/archive/mongoDB/0.2/doc/html/Database-MongoDB.html

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有