Я хочу создать упорядоченную карту с несколькими узлами в SML. Все, что я нашел до сих пор, существует здесь: https://www.smlnj.org/doc/smlnj-lib/Manual/binary-map-fn.html. Итак, я пытаюсь что-то вроде этого:
structure S = BinaryMapFn(struct
type ord_key = int
val compare = Int.compare
end);
и затем я пытаюсь вставить, например, 2 узла со значением 0 и значениями ключей 1 и 2 соответственно:
S.insert(S.empty,1,0);
S.insert(S.empty,2,0);
вывод: val it = T {cnt = 1, key = 2, left = E, right = E, value = 0}: int S.map
S.numItems(it);
вывод: val it = 1: int
Итак, я предполагаю, что выходные данные numItems создают 2 двоичные карты с 1 узлом на каждой, а не с одной. Я почти уверен, что что-то упустил, но недостаточно материала и примеров, связанных с этой структурой.