OCaml語言的核心庫附帶非常有用的地圖和表格模塊。 我知道如何定義自己的類型,如果我想使用一些內置類型的地圖:使用核心庫在ocaml中定義地圖類型
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.comparator
和Int.comparator_witness
無法得到期望的結果。
不[本博客文章(https://ocaml.janestreet.com/?q=node/112)的幫助。 –