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

Mic*_*ard 0 haskell types yesod

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

ham*_*mar 5

你不能简单地提取a的"内容" Handler,因为Handler它实际上是一个可以依赖于当前请求,会话状态等的计算.因此,为了运行它,你必须全部提供它.这将涉及使用runHandler,随后unYesodApprun结果Iteratee.技术上可行,但你自己做的非常麻烦.

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