package incremental_kernel

  1. Overview
  2. Docs

on_update_exn t ~f calls f after the current stabilization and after each subsequent stabilization in which t changes, until disallow_future_use t is called. f will be called at most once per stabilization. Here is a state diagram for the allowable sequences of Update.t's that can be supplied to a particular f:

           /-----------------------------------------------------\
           |                 /                                   |
           |                 |                                   v
          Start ------> Initialized ------> Changed ------> Invalidated
                                              ^  |
                                              \--/

on_update_exn raises if disallow_future_use t was previously called.

type 'a t =
  1. | Initialized of 'a
  2. | Changed of 'a * 'a
    (*

    Changed (old_value, new_value)

    *)
  3. | Invalidated
include sig ... end
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t