int型のキーを持つOCamlマップが必要なので、Map.Makeを使用して作成しています。ただし、標準モジュールは「のみ」、変換が必要なBig_int、Int32、Int64、Nativeintなどのモジュールを提供しているようです。だから私は次のようなことをしなければなりません:
module IntMap = Map.Make(Int32)
let a_map = IntMap.add (Int32.of_int 0) "zero" IntMap.empty ;;
...私はむしろ自分の愚かなIntモジュールを避けたり定義したりしたいのですが、変換関数を必要とせずに単純なintリテラルまたは値を処理します。
module Int = struct
type t = int
let compare x y = if x < y then -1 else if x > y then 1 else 0 end ;;
module IntMap = Map.Make(Int)
let a_map = IntMap.add 0 "zero" IntMap.empty ;;
ここで明らかな何かが欠けていますか?