Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Par_incr.VarSourceDefines the type and various operations for modifiable values.
A 'a Var.t will hold a value of type 'a. Unlike 'a t, this can be read and changed. This is our handle to values that can be mutated and the computations can then be propagated efficiently.
Var.create x creates a Var.t with value x. Optionally you can specify cutoff and to_s parameters as well. Default for cutoff is Phys_equal and it's recommended to pass cutoff wherever the default doesn't work.
Var.set t x sets the value of t to x. In case x is same as the old value, it won't do anything. If x is not equal to the old value, it'll mark all the computations that depend on t to be ready for propagation.
Var.value t converts 'a Var.t to 'a incremental. This is what lets us apply many combinators made available by the library and write bigger incremental programs.