module type S_ordered =sig..end
hook with a notion of priority.
include Hook.S
type key
type id
val register_key : key -> id
val extend : id -> (param -> result) -> unit
val extend_once : id -> (param -> result) -> unit
val add_dependency : id -> id -> unitadd_dependency hook1 hook2 indicates that hook1 must be
executed before hook2. In case of a cycle, all hooks will be
executed, but an arbitrary order will be chosen among the
elements of the cycle.