プロパティベースのテストに関する研究プロジェクトの一環として、Haskell プログラムの静的プログラム全体の分析を行う必要があります。Haskell プログラムのプログラム全体の分析を実装する方法についての提案を探しています。うまくいけば、自分で多くのインフラストラクチャを構築する必要はありません。
私が必要とする多くの機能を備えた Template Haskell を見てみましたが、重要な機能がありません: GHC で実装されている Template Haskell では、名前で関数の定義を取得する方法がないようです。(関連する SO の質問: `reify` を使用して関数の宣言を取得する方法は? )
GHC API を使用して Haskell プログラムのプログラム全体の分析を行う何らかの方法があるのではないかと思いますが、GHC API のドキュメントからこれがどのように行われるかを簡単に判断することはできません。
特に、関数呼び出しサイトが与えられた場合、対応する関数定義を検索できる必要があります。Template Haskell または GHC API ベースのソリューションに特に興味があります。
すべてのインフラストラクチャを自分で構築せずに、Haskell プログラムのプログラム全体を分析する方法はありますか?