Я работаю со встроенной в Ocaml библиотекой карт для решения проблемы, и у меня возникают проблемы с доступом к типу данных самой карты. Предполагается, что это третья реализация словаря (первые два - список и несбалансированное двоичное дерево поиска), и часть функтора, который я должен реализовать, - это «тип dict», который является типом данных реального словаря. Для списка введите dict было (D.key * D.value) список; для дерева введите dict было Пусто | Ветвь ((D.key * D.value), dict, dict). Документация Ocaml гласит:
type +'a t
The type of maps from type key to type 'a.
Это похоже на то, что мне нужно, но я не могу правильно его использовать. Кстати, М - это мой модуль Map.Make. Я пробовал
type dict = M.t
type dict = M.+D.value t
type dict = M.+
Но я продолжаю получать сообщения об ошибках. Кто-нибудь может помочь? Большое спасибо!