質問: LLVMベースのコンパイラの言語 私は、おもちゃの言語で初期テストと実験を行い、LLVMベースのコンパイラを構築してベンチマーク可能な結果を得ようとしています。 私はC ++がLLVMの "ネイティブ"かつ最高のサポート言語だと認識していますが、CまたはC ++を使用したくないという*本当に*だから私は安定してLLVM APIを扱うためのサポートを確立している高水準言語を探しています。 Python LLVMライブラリを使った私の初期の仕事は、プロジェクトが放棄されたように見えるため、少し失望しましたが、私はPyPyがLLVMサポートをそのフレームワークに統合することについて有望なニュースを聞いていますが、どのルートに多くの時間を沈める前に人々の経験が何であるかを知りたいと思います。 だから、私の質問は、LLVMをより高いレベルの言語やフレームワークを使用して積極的に経験したことがありますか?もしそうなら、どちら?それともあなたが避けるべきことは何ですか?
回答: LLVM APIのサブセットは、プレーンCラッパーを介して公開されています。コード生成には十分であり、実質的にあらゆる高水準言語から使用できます。 OCamlバインディングが用意されています(このチュートリアルを参照)。また、 Haskell バインディングもかなり成熟しています(例えば、GHC自体はLLVMでコンパイルできます)。私はLLVMを.NETベースの言語からもバインディングなしで使用しました(ヘッダーから自動生成された `P/Invoke` ラッパー)。