Plantilla Haskell: reificar en GHCi
template-haskell (1)
¿Es posible de alguna manera reificar en GHCi?
Cuando lo intento usando ''runQ'', se queja "no se puede reificar en la mónada IO"
>>> runQ (reify ''''Bool)
Template Haskell error: Can''t do `reify'' in the IO monad
*** Exception: user error (Template Haskell failure)
No estoy buscando :t
o algo, solo una forma de verificar rápidamente qué es lo que devuelve sin escribirlo en un archivo y cargarlo en GHCi.
Solo tienes que ejecutarlo desde un empalme en lugar de usar runQ
:
> $(stringE . show =<< reify ''''Bool)
"TyConI (DataD [] GHC.Types.Bool [] [NormalC GHC.Types.False [],NormalC GHC.Types.True []] [])"