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 する必要はあります。