Module Uf.GlobalDomains

This module provides a registry type to access and update a single "current" instance associated with multiple global domain types.

type t

Maps global domain modules (of type 'a global_domain) to an associated domain of the corresponding type 'a.

val empty : t

empty maps all domain modules D to their default domain D.empty.

val find : 'a global_domain -> t -> 'a

find (module D) t returns the global domain associated with the domain module D. Defaults to D.empty.

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

add (module D) d t registers the global domain d for the domain module D. Overwrite any pre-existing global domain associated with D.