11

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

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

wheremodify获取核心表示并返回修改后的版本。但是,此代码失败(即使 modify 根本不执行任何操作)并显示不是很有帮助的消息:

expectJust mkStubPaths

关于如何完成这项工作的任何想法,或者是否有可能以这种方式实现代码转换?

4

2 回答 2

9

这对我来说听起来像是一个错误compileCoreToObj。请报告

于 2010-10-05T19:40:07.393 回答
6

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

于 2012-01-21T08:00:31.747 回答