GHC APIを使用してコンパイル中にプログラムを変更することは可能ですか?

StackOverflow https://stackoverflow.com/questions/3864766

  •  28-09-2019
  •  | 
  •  

質問

GHCコンピレーションプロセスにピギーバックし、そのコア表現を変更することにより、実装Aコンパイラの最適化をテストしたいと思います。アイデアは、次のようなものを持っていることです。

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

どこ modify コア表現を取得し、変更されたバージョンを返します。ただし、このコードは、あまり役に立たないメッセージで(変更がまったく行われない場合でも)失敗します。

expectJust mkStubPaths

この作業をどのように作るか、またはこの方法でコード変換を実装することさえ可能であるかについてのアイデアはありますか?

役に立ちましたか?

解決

それはバグのように聞こえます compileCoreToObj 私に。お願いします それを報告する.

他のヒント

GHCにはサポートがあります プラグイン 今、それはあなたが望むことを正確に行うように見えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top