26

是否有可能在GHCi中进行具体化?

当我使用'runQ'尝试它时,它抱怨“无法在 IO monad 中进行 reify”。

>>> runQ (reify ''Bool)
Template Haskell error: Can't do `reify' in the IO monad
*** Exception: user error (Template Haskell failure)

我不是在寻找:t什么,只是为了快速检查reify返回的内容而不将其写入文件并将该文件加载到 GHCi 中。

4

1 回答 1

31

您只需从拼接处运行它,而不是使用runQ

> $(stringE . show =<< reify ''Bool)
"TyConI (DataD [] GHC.Types.Bool [] [NormalC GHC.Types.False [],NormalC GHC.Types.True []] [])"
于 2013-05-22T12:27:06.500 回答