9.5 Building custom toplevel systems: ocamlmktop

ocamlmktop コマンドは、起動時にロードするべきユーザコードを内部に保持している Objective Caml トップレベルを作成します。

ocamlmktop コマンドは .cmo や .cma ファイルを引数に取り、Objective Caml トップレベルの実装であるオブジェクトファイルとリンクします。普通の使い方は以下のようになります。

ocamlmktop -o mytoplevel foo.cmo bar.cmo gee.cmo

これで Objective Caml のトップレベルシステムと 3 つの .cmo ファイルのコードを持つバイトコードファイル mytoplevel が生成されます。トップレベルは直接起動できます。

./mytoplevel

これで通常のトップレベルループに入りますが、1 つだけ異なるのは foo.cmo 、bar.cmo 、gee.cmo のコードが、通常は以下のようにしてロードするところを、起動した時点ですでにメモリにロードされているということです。

#load "foo.cmo";;
#load "bar.cmo";;
#load "gee.cmo";;
    

ただし Foo 、Bar 、Gee モジュールは open されていません。

open Foo;;

なので望むなら上記のように open する必要はあります。