问题标签 [acid-state]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
485 浏览

haskell - Acid-state:更新的 MonadState 实例

我在努力acid-state文档指出这Update stMonadState st. 我尝试了不同的东西,但我的编译器不想看到 :( 我尝试了HelloWorld.hsfrom examples,但遇到了同样的问题:

我做错了什么?如何让它发挥作用?

我正在使用 acid-state-0.6.4, ghc-7.4.2, debian-6.0.5(amd64)

谢谢,尤拉斯

添加: 看起来它在 ghc-7.4.1 中有效,在 ghc-7.4.2 中无效。任何人都可以编译器吗?

我尝试重新安装酸状态,但没有帮助。ghc-7.4.2 中的错误或我的环境 ID 损坏。

0 投票
1 回答
344 浏览

haskell - 没有模板haskell的酸状态便利包装器?

acid-state教程中,所有示例都使用 Template Haskell。但是,由于某些原因,我不太热衷于使用它。

我知道可以在没有模板 haskell 的情况下使用酸状态,如下所示:http:
//mirror.seize.it/acid-state/examples/HelloWorldNoTH.hs

但是如果有任何方便的包装器或库来帮助更容易地使用酸状态(不使用模板haskell),我会徘徊吗?

PS:我的目的是为网络应用程序实现一个数据库层。

0 投票
1 回答
190 浏览

haskell - 我怎样才能让 cabal 安装酸状态?

我是 Haskell 的新手,想尝试 acid-state 库,但在尝试安装它时得到以下输出:

谢谢!

0 投票
1 回答
290 浏览

haskell - 从酸性状态查询中检索纯值

这看起来应该很容易,但是如果我使用的是 AcidState 的 Data.Acid.Memory.Pure 模块,如何从查询中获得纯值。我想我可以将这个问题概括为“我如何从 Update monad 中获得任何价值?”。你看,我正在尝试编写一个执行以下常规任务的测试:

  • 用一个对象更新一个纯 AcidState
  • 使用 IxSet 查询超出状态的对象
  • 比较查询对象和更新返回的对象是否相等。

我需要一个纯“布尔”,以便轻松与测试框架集成。起初我以为我会简单地使用 Control.Monad.State 中的 runState,但我错了(或者只是做得不对)。我应该怎么办?

0 投票
2 回答
971 浏览

haskell - Snap、IO 和酸态

尝试在 Snap 中使用酸状态,但遇到了障碍。

这是我到目前为止得到的。

首先是我的酸态相关对象(这是一本带有 isbn 编号的虚拟书):

然后我实际尝试将它与 Snap 集成。如您所见,我在定义 __doQuery__ 函数时遇到了麻烦,它应该返回一个字符串 isbn:

对我所缺少的任何帮助将不胜感激。如果有不清楚的地方,请告诉我,我会更新问题。

0 投票
1 回答
163 浏览

haskell - 酸态示例错误

我正在尝试开始使用acid-state一个项目,但我在运行演示时遇到了麻烦。

HelloWorld.hs在我的 64 位机器上运行这个示例集合会给我错误

同样的事情HelloWorldNoTH.hs也会发生。在 32 位系统上不会出现任何错误。有什么想法吗?我是否未能安装(或安装不当)某些必需的组件?

我正在使用 CabalThe Glorious Glasgow Haskell Compilation System, version 7.4.1在 64 位 Debian Wheezy(通过软件包安装)上运行“” 。机器本身是 64 位 Core i3。32 位机器(成功运行了演示)没有明显的不同。haskell-platform0.14.0

0 投票
1 回答
151 浏览

haskell - 无法在 Haskell 平台 2012.2.0.0 (Windows XP) 上安装酸状态

使用 cabal,我尝试在 Haskell Platform 2012.2.0.0 (Windows XP) 上安装 acid-state,但出现以下错误:

0 投票
1 回答
259 浏览

haskell - 酸状态查询的意外返回类型(Happstack)

我正在尝试使用一些附加功能扩展Happstack 速成课程博客:在主页上显示所有标签的列表。

我的博客记录是这样的:

我通过以下方式通过 id 获取博客文章(从速成课程中复制粘贴):

它工作正常。

当我尝试以类似方式查询所有标签时:

它行不通。错误堆栈跟踪是:

我不知道为什么返回类型query'[EventResult GetTags],而应该是[Text]

这个错误的原因是什么?有没有办法解决它?

0 投票
1 回答
325 浏览

haskell - AcidState 函数中的不明确类型变量

我在 Haskell Web 项目中遇到了错误Ambiguous type variable

相关代码是

这些错误专门抱怨insertItemand changeItemStatus,这两个都是acid-state查询函数

withAccount并且withItem是帮助我处理Maybe来自数据库的返回值的辅助函数。它们被定义为

好的,那么现在。

我已经多次阅读Happstack 速成课程中的 AcidState 文档,但没有多大帮助;他们直接在其响应生成函数中使用查询

  • 我试过了,得到了同样的Ambiguous type variable错误,除了指向query'调用iteslf,
  • 我真的不想这样做,因为那会迫使我混合我的模型/控制器代码
  • 对我的特殊情况没有帮助,因为它没有向我显示调用query'update'将要调用的函数的具体返回类型是什么(它们的函数都是AcidState DBName -> ServerPart Response,因为它们直接生成响应)。

我试图通过使用表达式的片段来组合类型签名insertItem,但每次尝试都给了我我认为更糟糕的错误。changeItemStatus:tNo instance for (MonadIO m1)

我还不是一个特别熟练的 Haskeller,所以我觉得我唯一可以尝试的另一件事就是return $在这个地方撒上随机 s,但这听起来不太可能真正解决问题或教学我什么。

我试图实现的一般概念是:“对数据库进行此更改,然后返回当前用户的相关元素的(可能更改的)列表”。

关于我接下来应该尝试什么,或者我具体哪里出错的任何提示?我是否以完全错误的方式思考这个问题?我是否可以就该主题查阅其他文件?

PS。我已经包含了我认为上面所有相关的代码,但是如果你想查看完整的源代码,它就在这里这里

编辑:完整类型错误

0 投票
1 回答
107 浏览

haskell - 试图用 Happstack 将 HSP 和 Acid-state 以一种形式结合在一起

我遵循了 Happstack Crash Course,现在我正在尝试将不同的东西放在一起:

从“使用改革的类型安全表单处理”(http://happstack.com/docs/crashcourse/Reform.html#reform)我已经编写了这个注册表单:

现在我想在表单成功时添加注册用户。我在酸状态(http://happstack.com/docs/crashcourse/AcidState.html#ixset)的帮助下编写了这个 UserBase

这些片段单独工作,但我可以insertUser acid user在哪里插入insertAndRenderUser

我希望你能帮助 我
谢谢弗洛