jjzjj

json - Haskell - 将 BSON 映射到 JSON 的正确方法 - 将代码放在哪里

所以,我是Haskell及其社区的新手。我想制作一个mongodb支持的JSONAPI。Mongo和JSON非常适合(至少在节点中),因为它将文档存储在BSON中,这是“二进制json”,因此理论上很容易将其转换为JSON。经过多次错误,我终于写出了下面的代码。{-#LANGUAGEOverloadedStrings,ExtendedDefaultRules#-}--https://github.com/mailrank/aeson/blob/master/examples/Demo.hs--cabalinstallaeson--cabalinstallmongoDbimportDat

mongodb - Haskell MongoDB 驱动程序可能出现死锁

从ghc7.4升级到ghc7.6后,我注意到我的一些数据库调用速度降低了40倍。为了调查,我写了一些简单的东西来测试,我的代码基本上是:timeFetch::Pipe->UUID.UUID->IO()timeFetchpipeuuid'=dolrResultdoprintCrntTm"Righthasresult"timeFetchpipeuuid'Left_->printCrntTm"Lefterr"printCrntTm只是用描述字符串打印当前时间,uuidToBUUID是因为Data.UUID与Mongo的Data.BsonUUID类型不同。timeFetch本身无限期地递归调用

mongodb - 斯科蒂使用 MongoDB

我对Haskell比较陌生,这是我第一次使用monad转换器。非常感谢您的帮助。runQuery::Pipe->Query->ActionM(EitherFailure[Document])runQuerypipequery=accesspipemaster"nutrition"(findquery>>=rest)main=dopipetext.pack$"Couldnotdecodetheuser:"++err++":\n"++(showb)Rightu->doletquery::Query=(select["i_name"=:["$in"=:map(unpack.name)(foo

mysql - 在 Yesod 上安装 mysql

我成功创建了一个Yesod应用程序(使用cabal-dev)并启动了它。但我一直在尝试将mysql与yesod一起使用,但在运行命令“cabal-devinstallyesod-platform,cabal-devinstallyesod-bin;cabal-devinstall”后,我总是收到以下错误消息:Installedyesod-1.2.2.1cabal:Error:somepackagesfailedtoinstall:Youne-0.0.0dependsonpcre-light-0.4whichfailedtoinstall.mysql-0.1.1.5faileddurin

mysql - 这是 "undefined"的合法使用还是有更好的方法?

我最近一直在研究MySQL-Simple。试图为该库提出一些综合示例。我想将ID与我要存储的实际记录分开。要为此Entity数据类型实现QueryResults的错误情况,我需要此数据类型实际使用的字段数量。因此我引入了一个Arity类型类(这很容易出错,尤其是当数据发生变化时)。我还在此处使用undefined来调用arity方法的正确实例。我在几个例子中看到过类似的东西,但我对这里使用undefined感到不安。有更好的方法吗?{-#LANGUAGEOverloadedStrings#-}{-#LANGUAGEBangPatterns#-}moduleMainwhereimport

mysql - HDBC ODBC MySQL - 查询仅在编译时失败

我的程序使用runghc运行,但同一程序在编译时始终失败,并出现错误“查询期间与MySQL服务器失去连接”。失败与长时间运行的查询无关(它是小表上的CREATEVIEW)。MySQL错误日志中没有任何内容,并且log_warnings=1。环境-ubuntu(13.04;-),本地数据库) 最佳答案 HDBC.ODBC必须使用“withRTSSignalsBlocked”来保护所有数据库访问操作,否则可能会出现我描述的随机故障。这一点得到了图书馆作者的有效证实。 关于mysql-HDBC

mysql - 转换时间以在 mysql 中使用

我正在尝试将时间戳加载到mysql中。我所有的时间都是UTCTime对象。HDBCmysql实现似乎不喜欢UTCTime对象,尽管在内部文档中说它将所有时间都视为UTC时间。我相信我需要将UTCTime转换为EpochTime,因为它看起来像HDBCmysql实现支持绑定(bind)SqlEpochTime。我一直无法弄清楚如何获取我的UTCTime并从中获取EpochTime。 最佳答案 目前有一个解决方法:importData.Time.Clock(UTCTime)importData.Time.Clock.POSIX(utcT

在Haskell中做Redux的最好方法是什么

我喜欢。Haskell及其类型系统,我发现在Haskell中写后端很有趣。但是,IMO我认为为前端切换另一个语言不是一个好主意。我想在前端和背面之间分享我的代码,并使用验证和类型,并且不要重复自己。寻找有关前端的一些架构,我知道flux然后redux我最喜欢Redux。在Haskell中编写Redux应用程序的最佳方法是什么?经过一些研究,我发现react-flux但是任何其他更像Redux的选项看答案好吧,我想最好的做你所打电话的方式reduxHaskell可能是使用与ConalElliott的想法一起使用的东西。这些想法非常强烈,其中一些想法的实现之一可能是Reflex-dom...这是它

ios - 建议将 Haskell 作为脚本引擎嵌入到 ARM 上的 iOS 应用程序中?

几个月前,我尝试将Haskell编译成一个iOS应用程序。不幸的是,我能找到的唯一稳定/维护实现是GHC,所以我尝试了某种交叉编译,但由于缺少ARM/iOS的RTS而失败了。我意识到这对我来说还不够容易。因此,我要求为此提供一些建议。我知道有iOS的补丁,但它不再继续了。我考虑过NHC/YHC,但我不能使用dropped实现。如果我想错了,请纠正我。 最佳答案 使用GHC-iPhone相当容易和ForeignFunctionInterface作为引用,DavidPollak有一个例子,实现了一个用Haskell编写的Lisp解释器,

sockets - Haskell 'timeout' 函数在应用于 'connect' 时不起作用

我的代码是这样的:connectFarEncipport=withSocketsDo$doaddrinfo如果无法连接到服务器,我希望超时两秒,但它不起作用。相反,抛出连接失败的异常,并退出程序。我应该如何处理这种情况以避免退出? 最佳答案 您从服务器得到了明确的答复,这产生了“连接被拒绝”。超时适用于您根本没有得到答复的情况。 关于sockets-Haskell'timeout'函数在应用于'connect'时不起作用,我们在StackOverflow上找到一个类似的问题: