OCaml と C++ の間のブリッジを作成したいと考えています。たとえば、OCaml で記述されたいくつかの構造を C++ で使用したいとします。
どうすればこれを達成できますか?これに対するライブラリ、バインディングはありますか?
言語マニュアルの関連部分を読む必要があります: Interfacing C with OCaml。生まれつき痛々しいほど低レベルなのですが、かなり詳細です。
C++ と OCaml コードの間で緊密な通信が必要でない場合(例: GUI コードと計算コードをインターフェースしているが、アプリケーションの計算集約型カーネルがアプリケーションの境界を越えていない場合、または少なくとも通信のコストが無視できると予想される場合) C++ と OCaml のコードを別々のプロセスで実行し、メッセージの受け渡しを通じて情報を交換する (定義するのに最も便利な形式: テキスト、S 式) 、バイナリ形式、JSON など)。より単純なアプローチが機能しないことが確実な場合にのみ、同じプロセスでコードをブリッジしようとします。
編集: 昨年この回答を書いて以来、Jeremy Yallop からCtypesライブラリが登場しました。これは非常に有望なアプローチであり、C と OCaml を直接インターフェースするよりもはるかに簡単です。