Prelude.Leftist
A leftist heap; can be a min-heap or a max-heap.
http://typeocaml.com/2015/03/12/heap-leftist-tree/
module type S = sig ... end
The type of leftist heaps.
type m =
| Min
| Max
The type of heaps.
module Min : sig ... end
Min is module that constructs a min-heap.
Min
module Max : sig ... end
Max is module that constructs a max-heap.
Max
module type MinMax = sig ... end
module Make (M : MinMax) (Ord : OrderedType) : S with type elt = Ord.t
(Make (M) (OT)) is a leftist min- or max-heap on the ordered type OT; see S; (Make (Min) (OT)) is a min-heap on OT, while (Make (Max) (OT)) is a max-heap on OT.
(Make (M) (OT))
OT
S
(Make (Min) (OT))
(Make (Max) (OT))