Opción-ddump-splices de GHC-Plantilla Haskell
template-haskell (1)
Estoy siguiendo el libro de Yesod, que dice:
Pero al utilizar la opción de GHC -ddump-splices, podemos obtener una visión inmediata del código generado. Una versión muy limpia es:
¿Cómo haría esto? He intentado compilar mi archivo con ghc -XTemplateHaskell -ddump-splices Page.hs
, que deja el directorio de la siguiente manera:
Page Page.hi Page.hs Page.hs~ Page.o
Ninguno de estos archivos, sin embargo, contiene el código intermedio generado por Template Haskell.
Mientras tanto, el comportamiento cambió y el -ddump-to-file
además del -ddump-splices
hace que los empalmes se escriban en un archivo, consulte la Sección 9.26 de la documentación actual (GHC 8.2.1) para obtener más detalles.
En versiones anteriores de GHC (no -ddump-splices
en qué versión cambió exactamente el comportamiento), -ddump-splices
funcionó de forma diferente:
La opción -ddump-splices
hace que GHC vuelque los empalmes a stderr. Desafortunadamente, la -ddump-to-file
no afecta a los empalmes (no sé si eso tiene razones más profundas o es solo una omisión), por lo que necesita capturar la salida stderr para guardar los empalmes para una investigación posterior.
ghc -XTemplateHaskell -ddump-splices Page.hs 2> Page.dump-splices
en conchas suficientemente bash-like.