gpt4 book ai didi

haskell - 从 haskell-src-exts 修改 pretty-print

转载 作者:行者123 更新时间:2023-12-04 21:25:56 24 4
gpt4 key购买 nike

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

最佳答案

嗯,图书馆做对了一件事,为 Pretty 使用了一个类型类。然后面临的挑战是如何为要以不同方式打印的构造函数选择不同的实例。理想情况下,您只需新建您关心的 AST 节点,然后以某种方式将其替换到 AST 中。

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

关于haskell - 从 haskell-src-exts 修改 pretty-print ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3216696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com