ocaml トップレベルでは、次のコマンドを入力して「bitstring」パッケージを使用できます。
#use "topfind";;
#camlp4o;;
#require "bitstring.syntax";;
let data = 0l;;
let bits = BITSTRING { data : 32 };;
ただし、たとえば foo.ml などの OCaml スクリプトを作成すると、次のようになります。
#!/usr/bin/env ocaml
#use "topfind";;
#camlp4o;;
#require "bitstring.syntax";;
let data = 0l;;
let bits = BITSTRING { data : 32 };;
そして、OCaml スクリプトを実行すると、構文エラーが発生しました。
$ ./foo.ml
File "./foo.ml", line 8, characters 28-29: Error: Syntax error
ここで何が欠けていますか?同じコードが対話型シェルでは機能するのに、スクリプト ファイルでは機能しないのはなぜですか?