Module Context

Extensible context

module Ctxmap : sig ... end

Context

module Mkfield : sig ... end
include module type of struct include Ctxmap end

Main type definition

type 'a key = 'a Hmap.key

Key to access a certain value in the context

type t = Hmap.t

A context. This is simply a hmap or equivalent, and standard keys into it are provided in the rest of the library.

val create_key : unit -> 'a key

Make a fresh key, distinct from every other key

val empty : t

Empty context

val mem : _ key -> t -> bool
val get_exn : 'a key -> t -> 'a
val get : 'a key -> t -> 'a option
val add : 'a key -> 'a -> t -> t
val remove : 'a key -> t -> t
val iter : (Hmap.binding -> unit) -> t -> unit
val make_field : unit -> (module Mkfield.S with type field = 'a)