追記: OCaml コード中の日本語(特に Shift_JIS) の扱いと OCaml 大駱駝パッチ

まず本記事参照: http://d.hatena.ne.jp/camlspotter/20090803/1249271478

コードの頭に変なキャラクタがあったようなんだけど、何をやったんだろう?

どうやら一バイト目ではまるのは、 UTF-8 の BOM を書き込むエディタのせいらしいです。(参考: http://blog.goo.ne.jp/kelley567/e/36459a3e1c3c8b3641b3538524289571) Shift_JISUTF-8 のファイルを混在させるための(特に Windowsでの) workaround ですが、、、
特にこの例の場合、一文字目が # ということでしたから、 #! 記法だと思われます。これは shell の解釈の問題なので OCaml では対応しようがありませーん。あれ、でも OCaml が文句を言ってるんだから、shell は理解している、のか?確かめなきゃ。

追記

Debianbash は BOM を無視しやがる!!
Cygwinbash は BOM で文句を言う。
つーわけで、大駱駝で BOM に対処できるけど、しても #!/cygdrive/c/.../ocaml とかのスクリプトbash ではねられる。だからやっても意義が少ないのでしないことにしました。