1

OCaml 言語のコア ライブラリには、非常に便利な Map および Table モジュールが付属しています。組み込み型のマップを使用する場合、独自の型を定義する方法を知っています。

type mytype = int String.Map.t (* A mapping from strings to integers *)

また、ポリモーフィック比較を使用してカスタム マップを定義する方法も知っています。

type mytype = (string, string) Map.Poly.t (* A map from strings to strings *)

私が知らないのは、自分の型から自分の型への非ポリモーフィックな比較を使用してカスタム マップを定義する方法です。たとえば、私が持っているとします

type row_t = Row of int
type column_t = Column of int
(* I want a map from rows to columns *)
type mymap_t = (row_t, column_t, ???) Map.t

Int.comparator3 番目の引数がコンパレータであることは理解していますが、内部に何を入れればよいかわかりませんInt.comparator_witness

4

1 に答える 1