Haskell 如何检查ghci中处理程序Monad中的值?

Haskell 如何检查ghci中处理程序Monad中的值?,haskell,types,yesod,Haskell,Types,Yesod,我有一种 Handler[可能随时可用] 我想检查ghci中[可能可用]的内容。怎么做?您不能简单地提取处理程序的“内容”,因为处理程序实际上是一种计算,它可以依赖于当前请求、会话状态等。所以为了运行它,你必须给它提供所有这些。这将涉及在生成的Iteratee上使用、后跟和。从技术上讲,这是可能的,但你一个人做起来却非常混乱 如果您认为值不依赖于任何一个,那么您应该能够将其作为纯计算或在IO单子中重写,这应该更易于运行。您不能简单地提取处理程序的“内容”,作为处理程序实际上是一种计算,它可以依赖

我有一种
Handler[可能随时可用]

我想检查ghci中[可能可用]的内容。怎么做?

您不能简单地提取
处理程序的“内容”,因为
处理程序实际上是一种计算,它可以依赖于当前请求、会话状态等。所以为了运行它,你必须给它提供所有这些。这将涉及在生成的
Iteratee
上使用、后跟和。从技术上讲,这是可能的,但你一个人做起来却非常混乱


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

您不能简单地提取
处理程序的“内容”
,作为
处理程序
实际上是一种计算,它可以依赖于当前请求、会话状态等。所以为了运行它,你必须给它提供所有这些。这将涉及在生成的
Iteratee
上使用、后跟和。从技术上讲,这是可能的,但你一个人做起来却非常混乱

如果您认为该值不依赖于其中任何一个,那么您应该能够将其作为纯计算或在
IO
monad中重写,这样运行起来应该简单得多