Haskell抽象構文式の動的ロード
-
29-10-2019 - |
質問
GHC APIなどを使用して、テキストソースモジュールではなく、 haskell-src-exts Exp
type ?このようにして、コードの生成と解析にかかる時間を節約できます。
解決
GHC APIがASTインターフェースを公開しているとは思いませんが(間違っている可能性があります)、TemplateHaskellは公開しています。Language.Haskell.TH
Exp
構造体を使用して式を作成する場合、関数/宣言を作成し、$(someTHFunction)
構文でそれらを利用できます。
かなり大きな注意点は、THはコンパイル時にのみ実行されるため、すべてを事前に生成する必要があるということです。実行時にTHを使用する場合は、テンプレートhaskell ASTをプリティプリントしてから、結果の文字列でGHCAPIを使用する必要があると思います。
所属していません StackOverflow