Pliki binarne są agnostyczne względem platformy, dlatego głównym ich zastosowaniem jest tzw. bootstrapowanie samego kompilatora OCamla. kompilacja do kodu maszynowego – komenda ocamlopt. Tworzy bardzo szybki program, który nie wymaga żadnych zewnętrznych bibliotek oprócz libc.
W wyniku działania kompilatorów Ocamla powstają pliki: cmi – skompilowane pliki sygnaturowe, takie same w ocamlc i ocamlopt cmo – pliki obiektów dla ocamlc cma – bibliotek dla ocamlc o – zwykłe pliki obiektowe, tworzone przez ocamlopt cmx – pliki obiektowe z dodatkowymi informacjami na temat modułów służące do optymalizacji, tworzone przez ocamlopt. cmxa – biblioteki dla ocamlopt.
pliki wykonywalne (bez rozszerzenia): pliki skryptowe shebang ocamlrun generowane przez ocamlc binarne pliki wykonywalne (na Linuksie typu ELF) generowane przez ocamlopt
System typów Jądro systemu typów opiera się na polimorficznie typowanym rachunku lambda z inferencją typów algorytmem unifikacji Hindley-Milner.
OCaml jest silnie typowanym językiem.
Nie dopuszcza żadnych automatycznych konwersji, czy przeciążania funkcji czy nawet przeciążonych operatorów infix dla różnych typów numerycznych.