Declare.Hook
Declaration hooks, to be run when a constant is saved. Use with care, as imperative effects may become not supported in the future.
type 'a g
type t = unit g
module S : sig ... end
Hooks allow users of the API to perform arbitrary actions at proof/definition saving time. For example, to register a constant as a Coercion, perform some cleanup, update the search database, etc...
val make_g : (S.t -> 'a -> 'a) -> 'a g
val make : (S.t -> unit) -> t
val call : ?hook:t -> S.t -> unit