是否可以在编译时使用GHC API修改程序?

时间:2010-10-05 14:42:15

标签: haskell ghc ghc-api

我想通过捎带进入GHC编译过程并改变其核心表示来测试实现编译器优化。这个想法是有类似的东西:

runGhc (Just libdir) $ do
   ...
   c <- compileToCoreModule targetFile
   compileCoreToObj False (modify c)
   ...

其中modify采用Core表示并返回修改后的版本。但是,这段代码失败了(即使修改什么也没做),但是没有非常有用的消息:

expectJust mkStubPaths

有关如何使这项工作的任何想法,或者甚至可能以这种方式实现代码转换?

2 个答案:

答案 0 :(得分:9)

这听起来像compileCoreToObj中的一个错误。请report it

答案 1 :(得分:6)

GHC现在支持plugins,这似乎完全符合您的要求。