Module Error_check.Step


module Step: sig .. end
Module for 'step' error checking with a moving threshold. Every time the threshold is breached, fail_alert is called and the threshold is subsequently adjusted (usually loosened). success_alert is called on return from a failed state to a successful one, but _only_ when successful with respect to the _original_ threshold (not the adjusted one). The adjustment function may tighten the threshold or return it to the original value (or loosen it) without a problem.

type ('a, -'b, +'c) t 
val sexp_of_t : 'a -> 'b -> 'c -> ('d, 'e, 'f) t -> Std_internal.Sexp.t
val create : threshold:'a ->
adjust:('b -> threshold:'a -> 'a) ->
assertion:('b -> threshold:'a -> bool) ->
fail_alert:('b -> 'c) ->
success_alert:('b -> 'c) -> ('a, 'b, 'c) t
val check : ('a, 'b, 'c) t -> 'b -> 'c option
val state : ('a, 'b, 'c) t -> bool