Module Make.Map

Map from type tags to values parameterized by the tag type

Parameters

module Value : ValueS

Signature

type t
type 'a key = 'a tag
type 'a value = 'a Value.t
val empty : t
val add : 'a key -> 'a value -> t -> t
val remove : 'a key -> t -> t
val find : 'a key -> t -> 'a value
val mem : 'a key -> t -> bool
type map = {
map : a. 'a key -> 'a value -> 'a value;
}
val map : map -> t -> t
type any =
| Any : 'a key * 'a value -> any
val iter : (any -> unit) -> t -> unit
val fold : (any -> 'r -> 'r) -> t -> 'r -> 'r
type filter = {
filter : a. 'a key -> 'a value -> bool;
}
val filter : filter -> t -> t