如何在ghci中检查Handler Monad中的值?

时间:2011-11-07 22:19:52

标签: haskell types yesod

我有一个类型 Handler [Maybe AvailableDay] 我想检查一下ghci中[Maybe AvailableDay]的内容。我该怎么做?

1 个答案:

答案 0 :(得分:5)

您不能简单地提取Handler的“内容”,因为Handler实际上是一个可以取决于当前请求,会话状态等的计算。因此,为了运行它,你必须全部提供它。这将涉及在生成的Iteratee上使用runHandler,然后使用unYesodApprun。技术上可行,但你自己做得非常麻烦。

如果您认为该值不依赖于任何值,那么您应该能够将其重写为纯计算或IO monad中的一个,这应该更容易运行。