作为学习 Haskell(并折磨自己)的练习,我正在考虑编写一个可配置的 Haskell 代码美化器。
它将支持用 JSON 或 YAML(或更好的东西?)编写的配置文件,该文件指定诸如排序导入、排序/分组data
和class
语句、部分之间的行数等选项。
我正在寻找用于生成抽象语法树 (AST)并保留注释的 Haskell 98 解析器。解析 GHC 及其语言扩展将是一个额外的好处。
在没有这样的事情的情况下,我想我可以编写一个递归下降解析器,或者使用 Parsec 或解析器生成器。也许滚动我自己会增加学习(和折磨:-))。
是否有一个完整的 Haskell->AST 解析器在开源许可下可用?如果我在这个项目上取得任何进展,我会把它放在 github 上。