だから、愚かな DSL をいくつかのライブラリ呼び出しに変換する OCaml 用の簡単な PPX を書きました。
[%jsx div]
のようなものになります
ReactJS.create_element "div"
ただし、コンパイルしようとすると、「Unbound value ReactJS.create_element」が表示されます。奇妙なことに、変換されたコードを出力してから、そのコードをファイルに直接コピーすると、正常にコンパイルされます。
PPX 構文拡張は、生成された AST 参照のライブラリにリンクする必要がありますか? 私は本当にばかげたことを見逃していますか?
次の単純な ocamlbuild コマンドを使用してプロジェクトをビルドしています。
ocamlbuild -use-ocamlfind \
-package react,js_of_ocaml,js_of_ocaml.ppx \
-package reactjs,reactjs_ppx \
tutorial.byte tutorial.ml
また、PPX はオアシス経由で生成/インストールされます。
誰にも手がかりはありますか?