Module Functoria.Context

Universal map of keys

type 'a key

The type for keys.

val new_key : string -> 'a key

new_key n is a new key with name k.

type t

The type for context maps.

val empty : t

empty is the empty context.

val add : 'a key -> 'a -> t -> t

add k v t is t augmented with the binding (k, v). Any previous binding of k is removed.

val mem : 'a key -> t -> bool

mem k t is true iff k has been added to t.

val find : 'a key -> t -> 'a option

find k t is v is the binding (k, v) has been added to t, otherwise it is None.

val merge : default:t -> t -> t

merge ~default t merges t on top of default. If a key appears in both default and t, the value present in t is kept.

val dump : t Fmt.t

dump dumps the state of t.