Dune's unstable standard library
Module type
Class type
Library stdune
include Univ_map.S
type t

A universal map is a map that can store values for arbitrary keys. It is the the key that conveys the type of the data associated to it.

module Key : sig ... end
val empty : t
val is_empty : t -> bool
val mem : t -> 'a Key.t -> bool
val set : t -> 'a Key.t -> 'a -> t
val add : t -> 'a Key.t -> 'a -> ( t, 'a ) Result.t
val update : t -> 'a Key.t -> f:( 'a option -> 'a option ) -> t
val remove : t -> 'a Key.t -> t
val find : t -> 'a Key.t -> 'a option
val find_exn : t -> 'a Key.t -> 'a
val singleton : 'a Key.t -> 'a -> t
val superpose : t -> t -> t

superpose a b is b augmented with bindings of a that are not in b.

val to_dyn : t -> Dyn.t
val to_dyns : t -> (string * Dyn.t) list

to_dyns m is an assoc list pairing keys to (representations of) values

val has_embedded_location : unit Key.t

The message has a location embed in the text.

val needs_stack_trace : unit Key.t

The message needs a stack trace for clarity.