12

GHC APIによって、ライブラリとしての使用、Haskell コードの分析、実行、変換などのコンパイラ機能へのアクセスが許可されることを知っています。GHC をパッケージとしてインポートする Haskell プログラムは、コンパイル時に GHC の独自の (部分的な) コピーを含むため、GHC がインストールされていないシステムでも実行可能です。

しかし、GHC をプログラムに含めずに、システムにインストールされているものを使用したい場合はどうすればよいでしょうか?

そのため、プログラムに Haskell コードが与えられると、システムの GHC を使用してそれを理解し、必要に応じてすべてのパッケージとライブラリ (GHCi で利用可能なもの) もインポートします。

  1. GHC (異なるシステムにインストールされている) はそのような API を提供していますか?
  2. もしそうなら、システムドキュメントリソースも同様のものを提供していますか? (これを使用すると、Haskell コードから関数を選択して、型シグネチャ、使用法情報などを調べることができます。)
4

1 に答える 1

2

エンドユーザーにBuildWrapperまたはscionのインストールを要求し、それらをプログラムで操作することができます。ユーザーに強制的にインストールさせたくない場合は、コードを実行可能ファイルにバンドルし、実行可能ファイルにシステム GHC を呼び出して自分でビルドさせることができます。

于 2013-02-17T21:20:33.283 に答える