To focus the search input from anywhere on the page, press the 'S' key.
in-package search v0.1.0
Library
Module
Module type
Parameter
Class
Class type
val sexp_of_t :
('a -> Sexplib0.Sexp.t) ->
('w -> Sexplib0.Sexp.t) ->
('a, 'w) t ->
Sexplib0.Sexp.t
include Core.Invariant.S2 with type ('a, 'b) t := ('a, 'b) t
val invariant : ('a -> unit) -> ('b -> unit) -> ('a, 'b) t -> unit
val observing : ('a, 'w) t -> ('a, 'w) incremental
val use_is_allowed : (_, _) t -> bool
val value : ('a, _) t -> 'a Core.Or_error.t
value t
returns the current value of t
, or Error
if t
does not currently have a stable value. In particular, value t
will return Error
in the following situations:
- in the middle of stabilization.
- if
stabilize
has not been called sincet
was created. - if
disallow_future_use t
has been called. - if
observing t
is invalid.
Rather than using value
in a function that runs during stabilization, one should use map
or bind
to express the dependence of an incremental computation on an incremental.
val value_exn : ('a, _) t -> 'a
module Update : sig ... end
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.
val disallow_future_use : (_, _) t -> unit
After disallow_future_use t
:
on_update_exn t
andvalue_exn t
will raise, andvalue t
will returnError
.t
's on-update handlers will never run again.- At the next call to
stabilize
, before recomputing nodes, incremental will markt
as unobserved, and mark as unnecessary all nodes that were necessary only to maintaint
.