GHC APIを使用してコンパイル中にプログラムを変更することは可能ですか?
質問
GHCコンピレーションプロセスにピギーバックし、そのコア表現を変更することにより、実装Aコンパイラの最適化をテストしたいと思います。アイデアは、次のようなものを持っていることです。
runGhc (Just libdir) $ do
...
c <- compileToCoreModule targetFile
compileCoreToObj False (modify c)
...
どこ modify
コア表現を取得し、変更されたバージョンを返します。ただし、このコードは、あまり役に立たないメッセージで(変更がまったく行われない場合でも)失敗します。
expectJust mkStubPaths
この作業をどのように作るか、またはこの方法でコード変換を実装することさえ可能であるかについてのアイデアはありますか?
解決
それはバグのように聞こえます compileCoreToObj
私に。お願いします それを報告する.
他のヒント
GHCにはサポートがあります プラグイン 今、それはあなたが望むことを正確に行うように見えます。
所属していません StackOverflow