我可以将模板haskell转换为.hs吗?

时间:2016-03-26 16:34:05

标签: haskell template-haskell

我在Template Haskell的帮助下创建了数据。我通过$(代码在这里)从另一个程序中使用它。

那么,我可以将数据转换为.hs文件吗?我想看看数据的结构。

1 个答案:

答案 0 :(得分:4)

执行此操作的一种常见方法是为您编写使用模板Haskell的普通Haskell代码,然后向GHC提供选项-ddump-splices-ddump-to-file以使其输出包含所有原始代码的文件但随着模板Haskell的扩展,您可以准确地看到正在编译的内容。

如果您不想查看完整文件,另一个选项是使用template-haskell软件包附带的漂亮打印机。 The module包含许多用于构造Doc的辅助函数,然后可以使用pprint :: Doc -> String将其呈现为字符串,并使用Q monad的IO功能输出。