純粋に機能的なプログラム用の仮想マシンを開発しています。すでに利用可能なさまざまな Haskell モジュールをテストして使用できるようにしたいと考えています。VM は、本質的に型なしラムダ計算の項を入力として受け取ります。最新の Haskell モジュール (たとえば、MPTC、パターン ガードなど) からそのような表現を抽出する良い方法は何でしょうか。私は少し調査を行いましたが、これを行うツールはまだないようです (間違っていれば幸いです)、それで問題ありません。アプローチを探しています。
特にVMが行うことの1つは評価順序を大幅に変更することであるため、GHCコアは操作に集中しすぎているようです。ラムダ計算により密接に対応するアクセス可能な中間表現はありますか?