$ cat hello.ml
#!/usr/bin/env ocamlrun ocaml
let rec main = print_string "Hello World!\n"
$ ./hello.ml
Hello World!
$ ocaml hello.ml
Hello World!
$ ocamlc -o hello hello.ml
File "hello.ml", line 1, characters 0-1:
Error: Syntax error
$ ocamlopt -o hello hello.ml
File "hello.ml", line 1, characters 0-1:
Error: Syntax error
Erlang と同様に、OCaml はスクリプト モードではシバンを許可しますが、コンパイル モードでは機能しません。OCaml には、コンパイル中に構文エラーを引き起こさない、より慣用的なシバンがありますか?