package incremental

  1. Overview
  2. Docs

A State.t holds shared state used by all the incremental functions.

type 'w t
val sexp_of_t : ('w -> Sexplib0.Sexp.t) -> 'w t -> Sexplib0.Sexp.t
module type S = sig ... end
val create : ?max_height_allowed:int -> unit -> (module S)
val keep_node_creation_backtrace : _ t -> bool

If keep_node_creation_backtrace, then whenever a new node is created, incremental will call Backtrace.get and store the result in the node. The backtrace will then appear in subsequent error messages when the node is pretty printed.

val set_keep_node_creation_backtrace : _ t -> bool -> unit
val max_height_allowed : _ t -> int
val set_max_height_allowed : _ t -> int -> unit

set_max_height_allowed t height sets the maximum allowed height of nodes. set_max_height_allowed raises if called during stabilization, or if height < max_height_seen t.

val num_active_observers : _ t -> int

num_active_observers returns (in constant time) the number of observers that have been created and not yet disallowed (either explicitly or via finalization).

constant-time stats

These are counters that are constant time to read, and that are automatically updated in the ordinary course.

val max_height_seen : _ t -> int
val num_nodes_became_necessary : _ t -> int
val num_nodes_became_unnecessary : _ t -> int
val num_nodes_changed : _ t -> int

Number of times a node has seen its value changed, the determination of which depends on the choice of cutoff.

val num_nodes_created : _ t -> int
val num_nodes_invalidated : _ t -> int
val num_nodes_recomputed : _ t -> int
val num_nodes_recomputed_directly_because_one_child : _ t -> int
val num_nodes_recomputed_directly_because_min_height : _ t -> int
val num_stabilizes : _ t -> int
val num_var_sets : _ t -> int
module Stats : sig ... end

Stats contains information about the DAG intended for human consumption.

val stats : _ t -> Stats.t