获取解析和类型注释的Haskell代码

时间:2016-02-07 07:22:04

标签: parsing haskell ghc

我正在尝试解析Haskell源代码并生成决策树来分析Haskell程序可以采用的不同路径。 haskell-src-exts给出了合理的陈述,但没有与之相关的任何类型信息 GHC或其他工具是否提供该功能?

1 个答案:

答案 0 :(得分:1)

除了GHC之外,没有其他工具能够特别擅长对Haskell源进行攻击。正在开发haskell-type-exts以匹配src-exts,但它从未完成。

因此,您可以使用合理的GHC API包装器,例如hint,并在要使用其type inference api检查的子表达式上调用它。

这是一种相当痛苦的方法,但我想不到更好。如果您只想将haskell- 之类的代码作为练习,那么您可以将PureScript编译器作为库导入,然后您就可以完全获得以更合理的方式键入带注释的语法树。

或者,您可以尝试浏览GHC api本身的丛林,以获得完全类似的源...

如果您选择走这条路线,this answer可能会让您入门。