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 -> unit
add_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.