これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドjs_of_ocamlです。
プログラム:
NAME
js_of_ocaml-JavascriptコンパイラへのOCamlバイトコード
DESCRIPTION
js_of_ocaml(1)はOCamlバイトコードプログラムからJavascriptへのコンパイラです。 それはそれを作ります
Webブラウザで実行されるOCamlプログラムを作成することが可能です。
ブラウザAPIの大部分と生成されたプログラムのバインディングが付属しています
通常、OCamlバイトコードインタープリターをより高速に実行するように測定されています。
USAGE
プログラムは最初にOCamlバイトコードコンパイラを使用してコンパイルする必要があります オカムクとします。
Javascriptバインディング、および対応する構文拡張は、
js_of_ocaml パッケージ。
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
-構文camlp4o-linkpkg-o input_file.byte input_file.ml
次に、を実行します js_of_ocaml(1)Javascriptコードを生成するコンパイラ。
js_of_ocaml [ オプション ] 入力ファイル.バイト
OPTIONS
次のコマンドラインオプションは、によって認識されます js_of_ocamlとします。
-デバッグ 名
デバッグモジュール 名
-無効にする 名
最適化を無効にする 名
-可愛い
出力をきれいに印刷する
-デバッグ情報
出力デバッグ情報
-noinline
インライン化を無効にする
-非ランタイム
標準のランタイムを含めない
-トップレベル
トップレベルをコンパイルする
-I DIR Add DIR インクルードディレクトリのリストへ
-o file
出力ファイル名をに設定します file
-助けて オプションのリストを表示する
- 助けて オプションのリストを表示する
特徴、 制限
入出力チャネルを除いて、OCaml標準ライブラリ全体がサポートされている必要があります。
弱参照、およびSysモジュールのほとんどの機能。 Bigarrayなどの追加ライブラリ、
Unix、Thread、Strはサポートされていません。
末尾呼び出しは一般的に最適化されていません。 ただし、自己再帰関数(テールの場合)
関数自体への呼び出し)はループにコンパイルされます。
現在、再帰モジュールはサポートされていません。
データ表現は、パフォーマンス上の理由から、通常のものとは異なります。 最も注目すべきは、
整数は(32ビットまたは31ビットではなく)63ビットであり、浮動小数点数はボックス化されていません。 結果として、
マーシャリング、多態性比較、およびハッシュ関数は、異なる結果をもたらす可能性があります
いつもより:
・フロートのマーシャリングはサポートされていません(非マーシャリング作業)。
・多形ハッシュ関数は、データ構造で同じ結果を提供しません
フロートを含む;
・Javascriptスタックが小さいため、これらの関数はスタックオーバーフローを起こしやすい可能性があります。
onworks.netサービスを使用してオンラインでjs_of_ocamlを使用する