.がいっぱいあるファイルをコンパイルしてみる
$ cat hoge.a.ml let a = 100 $ ocamlc -c hoge.a.ml $ ls hoge.a.cm* hoge.a.cmi hoge.a.cmo
うーむ、コンパイル通っちゃった。続き。
$ ocaml -I . Objective Caml version 3.10.0+beta # #load "hoge.a.cmo";; # module H = Hoge;; Unbound module Hoge # module H = Hoge.a;; Unbound module Hoge
むむ。ロードはできるけど、使えない。
$ ocaml-3.10.0+beta/tools/dumpobj hoge.a.cmo ## start of ocaml dump of "hoge.a.cmo" 0 CONSTINT 100 2 PUSHACC0 3 MAKEBLOCK1 0 5 POP 1 7 SETGLOBAL Hoge.a ## end of ocaml dump of "hoge.a.cmo"
ちゃっかりHoge.aとかモジュール定義してやがる。いいかげんなんだなぁ。
まあ型付けでコケるから良いってことか。