Module Util

module Util: sig .. end

Some useful operations.


module OTProduct: 
functor (X : Sig.ORDERED_TYPE) ->
functor (Y : Sig.ORDERED_TYPE) -> ORDERED_TYPE with type t = X.t * Y.t

Cartesian product of two ordered types.

module HTProduct: 
functor (X : Sig.HASHABLE) ->
functor (Y : Sig.HASHABLE) -> HASHABLE with type t = X.t * Y.t

Cartesian product of two hashable types.

module CMPProduct: 
functor (X : Sig.COMPARABLE) ->
functor (Y : Sig.COMPARABLE) -> COMPARABLE with type t = X.t * Y.t

Cartesian product of two comparable types.

module DataV: 
functor (L : sig
type t 
end) -> 
functor (V : Sig.COMPARABLE) -> sig .. end

Create a vertex type with some data attached to it