Module Gist.Map_like

Map likes for gist processors.

Hash table modules

module type HASHTBL = HASHTBL

Generic hashbtl interface.

type ('k, 'v, 'hashtbl) hashtbl_module = (module HASHTBL with type key = 'k and type t = 'hashtbl and type value = 'v)

The type for hash table modules.

Map modules

module type MAP = MAP

Generic map interface.

type ('k, 'v, 'map) map_module = (module MAP with type key = 'k and type t = 'map and type value = 'v)

The type for map modules.

Map likes

type ('k, 'v, 'map) t =
  1. | Hashtbl_module : 'k gist * 'v gist * ('k, 'v, 'hashtbl) hashtbl_module -> ('k, 'v, 'hashtbl) t
  2. | Map_module : 'k gist * 'v gist * ('k, 'v, 'map) map_module -> ('k, 'v, 'map) t

The type for representing map like types of type 'map with keys of type 'k and values of type 'v.

val key : ('k, 'v, 'map) t -> 'k gist

key m is the representation of the keys of m.

val value : ('k, 'v, 'map) t -> 'v gist

value m is the representation of the values of m.