如您所知,模板Haskell用于在编译时以编程方式生成各种AST拼接。 然而,拼接往往是非常不透明的,而且通常难以辨别拼接实际上产生了什么。 如果你运行Q monad进行拼接,并且拼接是打好的types的,那么你就可以看到生成的AST片断,但是由于其非结构化的布局,这种表示可能很难理解。 将一段TH生成的AST转换成类似于普通Haskell代码的首选方法是什么?这样代码就可以很容易地被读取和理解了。 能从一个给定的Dec值重build源代码吗? 是否需要阅读GHC核心代码? 有没有办法来至less构build的AST,使其变得更加可读(除了什么,如pretty-show包装)?
在我们的项目中,我们有很多TH生成的函数。 向他们添加通用评论是有意义的,以便他们在Haddock / Hoogle中可见。 至less,“这是由TH产生的”。 是这样的可能吗?