2015年3月現在のWindows向けOCaml。
INRIA
inria.fr
ocaml-4.01.0-i686-mingw64-installer3.exe
多分純正品。多分MinGW64向け。私の欲しいのは32bit版なので未確認。
Cygwin
cygwin.com
setup-x86.exe
Cygwinのセットアッププログラムでocaml-4.01.0がインストール可能。生成されたバイナリは動作にcygwin1.dllが必須。Cygwinが32bitならOCamlも32bit。
OCamlPro
ocamlpro.com
ocpwin32-20141117-mingw32-4.01.0+ocp1.exe (ocpwin32-20141117-msvc32-4.01.0+ocp1.exe)
OCPWinには32bitと64bitが用意されている。msvc32版はどうにも適切に動かせなかった。mingw32版はインストール先ディレクトリに必要最低限のMinGWをインストールする。これはWindows版のHaskellなんかと同じ方法で、パスの順番で別バージョンのar.exeが動いたりすると適切に動けなくなったりする。生成されたバイナリはそのまま動く。4.02とOPAMの移植が待たれる。
OCamlCore
ocamlcore.org
wodi32.tar.xz (wodi32.exe)
GODIのWindows版であるWODIには32bitと64bitが用意されている。2015年3月現在4.01でなく4.02なのはこれだけ。使うにはCygwinが必須のようだが、生成されたバイナリはCygwinなしで動く(Sys.os_typeは"Win32"を返す)。
OCaml 4.01と4.02はマイナーバージョンが1つ違うだけだが、大きな変更点がある。文字列がmutableとimmutableに分離したのだ。前者がbytesで後者がstring。4.01にはbytesという型は存在しない。output_bytesという関数も存在しない。実用的なプログラムで文字列を扱わないなんてことはありえないので4.01と4.02はソースの共存はなるべくならやりたくない。
実際外部ライブラリのことを考えるとOPAMが存在しない現在、WODI以外では自力で頑張るしかない。当面はWODIで4.02を使うとするか。
2015.03.13
「wodi ocaml」をググってトップに出てくるページへアクセスすると「WODI is not maintained any longer.」と表示される(http://wodi.forge.ocamlcore.org/)。梯子を外されてしまった。
2015.05.26
OSTRACISM CO.
OSTRA / Takeshi Yoneki