module Make: functor (
X
:
sig
end
) ->
S
with type param = unit and type result = unit
Make a new empty hook from unit
.
type
param
Type of the parameter of the functions registered in the hook.
type
result
Type of the result of the functions.
result can be unit (for iterative hooks) or param (for folding hooks)
val extend : (param -> result) -> unit
Add a new function to the hook.
val apply : param -> result
Apply all the functions of the hook on the given parameter.
These functions are applied from the least recently entered to the most
recently entered.
val is_empty : unit -> bool
Is no function already registered in the hook?
val clear : unit -> unit
Clear the hook.
val length : unit -> int
Number of registered functions.