草庐IT

haskellers

全部标签

web-services - Yesod 持久性示例

我正在计划使用Yesod,但遇到了麻烦,我需要一个很好的示例来说明如何提交表单并将其输入SQLite持久数据库。Yesodbook关于如何设置表的讨论很多,但关于如何插入行以及如何获取数据库中的数据列表的示例相当短。 最佳答案 haskellers.com网站的源代码很好地展示了yesod的示例代码。检查一下。haskellersongithub 关于web-services-Yesod持久性示例,我们在StackOverflow上找到一个类似的问题: htt

haskell - Haskell SQLite 包之间的权衡是什么?

有许多HaskellSQLite绑定(bind),这对我来说意味着在使用构建/使用SQLite绑定(bind)时有许多不同的权衡。我试图通读其中许多软件包的文档,但过了一段时间后它变得模糊不清,而且我无法真正确定选择一个而不是另一个的主要权衡。搜索Hackage发现:direct-sqliteHDBC-sqlite3hdbi-sqlitehsql-sqlite3hsSqlite3persistent-sqlitesimplest-sqlitesql-simple-sqlitesqlitesqlite-simplesqlite-simple-typedbindings-sqlite3别介

haskell - Haskell SQLite 包之间的权衡是什么?

有许多HaskellSQLite绑定(bind),这对我来说意味着在使用构建/使用SQLite绑定(bind)时有许多不同的权衡。我试图通读其中许多软件包的文档,但过了一段时间后它变得模糊不清,而且我无法真正确定选择一个而不是另一个的主要权衡。搜索Hackage发现:direct-sqliteHDBC-sqlite3hdbi-sqlitehsql-sqlite3hsSqlite3persistent-sqlitesimplest-sqlitesql-simple-sqlitesqlitesqlite-simplesqlite-simple-typedbindings-sqlite3别介

haskell - Cabal 安装需要 C 库 : Windows

我正在尝试在我的Windows机器上cabalinstallyesod。我有一个相对较新的Haskell平台安装。cabal安装失败,报告我需要sqlite3C库才能安装“persistent”,这是Yesod所依赖的一个包。cabal:Missingdependencyonaforeignlibrary:*MissingClibrary:sqlite3所以我去了http://www.sqlite.org/download.html并获取了C源代码和预编译的二进制文件。我尝试同时使用两者,但无济于事:cabalinstallpersistent--extra-lib-dirs=C:\P

haskell - Cabal 安装需要 C 库 : Windows

我正在尝试在我的Windows机器上cabalinstallyesod。我有一个相对较新的Haskell平台安装。cabal安装失败,报告我需要sqlite3C库才能安装“persistent”,这是Yesod所依赖的一个包。cabal:Missingdependencyonaforeignlibrary:*MissingClibrary:sqlite3所以我去了http://www.sqlite.org/download.html并获取了C源代码和预编译的二进制文件。我尝试同时使用两者,但无济于事:cabalinstallpersistent--extra-lib-dirs=C:\P

haskell - 从 runRedis conn $ get "hello"获取字符串 - Haskell

从Database.Redis我使用runRedisconn$get"hello",这是runRedisconn$get"hello"::IO(EitherReply(MaybeData.ByteString.Internal.ByteString))在哪里conn但我想将输出转换为String/ByteString,因为我想将它与其他一些String进行比较。我该怎么做? 最佳答案 当您不确定Haskell的工作原理时,一个好的起点是找到他们的文档(Hedisishere)。您应该查看所需的构建block(即函数)及其定义。无论如

haskell - 从 runRedis conn $ get "hello"获取字符串 - Haskell

从Database.Redis我使用runRedisconn$get"hello",这是runRedisconn$get"hello"::IO(EitherReply(MaybeData.ByteString.Internal.ByteString))在哪里conn但我想将输出转换为String/ByteString,因为我想将它与其他一些String进行比较。我该怎么做? 最佳答案 当您不确定Haskell的工作原理时,一个好的起点是找到他们的文档(Hedisishere)。您应该查看所需的构建block(即函数)及其定义。无论如

haskell - 如何在同一个函数中订阅多个 Redis channel ?

运行Redis3.2.1和最新的Hedis库,我有以下发布程序:{-#LANGUAGEOverloadedStrings#-}moduleMainwhereimportDatabase.RedisimportControl.MonadimportControl.ConcurrentimportControl.Monad.TransimportData.ByteStringasBSimportSystem.Posix.ProcessimportData.String.Convmain::IO()main=doconn订阅者看起来像这样:{-#LANGUAGEOverloadedStrin

haskell - 如何在同一个函数中订阅多个 Redis channel ?

运行Redis3.2.1和最新的Hedis库,我有以下发布程序:{-#LANGUAGEOverloadedStrings#-}moduleMainwhereimportDatabase.RedisimportControl.MonadimportControl.ConcurrentimportControl.Monad.TransimportData.ByteStringasBSimportSystem.Posix.ProcessimportData.String.Convmain::IO()main=doconn订阅者看起来像这样:{-#LANGUAGEOverloadedStrin

haskell - Get Monad 中的 IO

所以我的问题如下。我正在尝试为RDB文件(Redis生成的转储文件)实现流式解析器。我想实现一个类似于mapM_的函数,我可以说打印出转储文件中表示的每个对象,因为它被解析。但是,我似乎无法让它在恒定空间中运行。我发现正在发生的事情是我在Getmonad内部构建一个大的IO()thunk,从Getmonad返回然后执行IO。有没有办法在我的对象被解析打印时流式传输然后丢弃它们?我已经尝试过Enumerators和Conduits,但我没有看到任何真正的收获。这是我目前所拥有的:loadObjs_::(Monadm)=>(MaybeInteger->BL8.ByteString->RDB