标签: haskell acid-state
这似乎应该很简单,但如果我使用AcidState的Data.Acid.Memory.Pure模块,如何从查询中获得纯值。我想我可以将这个问题概括为“如何从Update monad中获取任何价值?”。你看,我正在尝试编写一个执行以下普通任务的测试:
我需要一个纯粹的“Bool”,以便轻松地与测试框架集成。起初我以为我只是使用Control.Monad.State中的runState但我错了(或者只是没有做对)。我该怎么办?
答案 0 :(得分:1)
由于您使用的是Data.Acid.Memory.Pure,因此您可以使用该模块中的update,query和update_函数(而不是Data.Acid中的函数)纯粹看一个事件的结果。与常规的,不纯的acid-state一样,您不只是“运行Update和Query monad”,您必须先将它们转换为事件。使用Data.Acid.Memory.Pure,这意味着您只需使用Event的构造函数包装它们。
Data.Acid.Memory.Pure
update
query
update_
Data.Acid
acid-state
Update
Query
Event