Spec-Zone.ru › OCaml 5.0

Модуль MoreLabels.Map

module Map: sig .. end

Таблицы ассоциаций над упорядоченными типами.

Этот модуль реализует аппликативные таблицы ассоциаций, также известные как конечные отображения или словари, заданные функцией полного упорядочения над ключами. Все операции над отображениями являются чисто аппликативными (без побочных эффектов). Реализация использует сбалансированные двоичные деревья, поэтому поиск и вставка занимают время, логарифмически зависящее от размера отображения.

Например:

       module IntPairs =
         struct
           type t = int * int
           let compare (x0,y0) (x1,y1) =
             match Stdlib.compare x0 x1 with
                 0 -> Stdlib.compare y0 y1
               | c -> c
         end

       module PairsMap = Map.Make(IntPairs)

       let m = PairsMap.(empty |> add (0,1) "hello" |> add (1,0) "world")
     

Это создает новый модуль PairsMap, с новым типом 'a PairsMap.t отображений из int * int в 'a. В этом примере, m содержит string значения, поэтому его тип string PairsMap.t.

module type OrderedType = sig .. end

Входная сигнатура функтора MoreLabels.Map.Make.

module type S = sig .. end

Выходная сигнатура функтора MoreLabels.Map.Make.

module Make: functor (Ord : OrderedType) -> S 
    with type key = Ord.t
     and type 'a t = 'a Map.Make(Ord).t

Функтор, строящий реализацию структуры отображения, заданной полностью упорядоченным типом.

© 1995-2022 INRIA.
https://v2.ocaml.org/releases/5.0/htmlman/libref/MoreLabels.Map.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API