スキップしてメイン コンテンツに移動

投稿

8月, 2017の投稿を表示しています

js_of_ocaml の使い方

js_of_ocaml (jsoo) は Ocsigen が提供しているコンパイラである。その名の通り OCaml バイトコードから JavaScript コードを生成する。 これを使うことで OCaml で書いたプログラムを Web ブラウザや node.js で実行することができる。インストール単に OPAM を使えば良い:$ opam install js_of_ocaml js_of_ocaml-ocamlbuild js_of_ocaml-ppxバージョン 3.0 から OPAM パッケージが分割されたので、必要なライブラリやプリプロセッサは個別にインストールする必要がある。 とりあえず使うだけなら js_of_ocaml と js_of_ocaml-ppx の二つで十分。後述するように OCamlBuild でアプリケーションをビルドするなら js_of_ocaml-ocamlbuild も入れると良い。これで js_of_ocaml コマンドがインストールされ、OCamlFind に js_of_ocaml 及びサブパッケージが登録される。コンパイルの仕方以下ソースファイル名は app.ml とし、ワーキングディレクトリにあるものとする。手動でやる場合一番安直な方法は、直接 js_of_ocaml コマンドを実行することである:$ # バイトコードにコンパイルする。js_of_ocaml.ppx は JavaScript オブジェクトの作成や操作の構文糖衣を使う場合に必要 $ ocamlfind ocamlc -package js_of_ocaml,js_of_ocaml.ppx -linkpkg -o app.byte app.ml $ # 得られたバイトコードを JavaScript にコンパイルする $ js_of_ocaml -o app.js app.byteOCamlBuild を使う場合OCamlBuild を使う場合、.js 用のビルドルールを定義したディスパッチャが付属しているので myocamlbuild.ml でこれを使う:let () = Ocamlbuild_plugin.dispatch Ocamlbuild_js_of_ocaml.dispatcher$ # app.ml -> app.byte -> ap…