我想通过搭载 GHC 编译过程并更改其核心表示来测试编译器优化的实现。这个想法是有类似的东西:
runGhc (Just libdir) $ do
...
c <- compileToCoreModule targetFile
compileCoreToObj False (modify c)
...
wheremodify
获取核心表示并返回修改后的版本。但是,此代码失败(即使 modify 根本不执行任何操作)并显示不是很有帮助的消息:
expectJust mkStubPaths
关于如何完成这项工作的任何想法,或者是否有可能以这种方式实现代码转换?