从haskell-src-exts修改漂亮的打印机

时间:2010-07-09 21:30:22

标签: haskell pretty-print

haskell-src-exts包具有漂亮打印Haskell AST的功能。我想要做的是改变它在某些构造函数上的行为,在我的例子中是打印SCC编译指示的方式。因此,其他所有内容都应以默认方式打印,只有SCC的处理方式不同。有没有可以不复制source file并编辑它,这就是我现在正在做的事情?

1 个答案:

答案 0 :(得分:2)

好吧,图书馆做了一件事,使用了Pretty的类型类。接下来的挑战是如何为要以不同方式打印的构造函数选择不同的实例。理想情况下,您只需要新输入您关注的AST节点,并以某种方式将其替换为AST。

现在,问题在于库导出的Haskell AST的类型结构是固定的。它没有,例如,使用two-level types,可以让你用newtypes替换树的一部分。因此,您必须将AST的类型重新定义为您希望更改其类型的节点。