Incremental is a library that gives you a way of building complex

computations that can update efficiently in response to their inputs

changing, inspired by the work of Umut Acar et. al. on self-adjusting

computations. Incremental can be useful in a number of applications,

including:

Umut Acar et. al.

Building large calculations (of the kind you might build into a

spreadsheet) that can react efficiently to changing data.

Constructing views in GUI applications that can incorporate new data

efficiently.

Computing derived data while guaranteeing that the derived data

stays in sync with the source data, for instance filtering or

inversing a mapping.

You can find detailed documentation of the library and how to use

it in incremental/src/incremental_intf.ml. You can also find an

informal introduction to the library in this blog post

and this video.

incremental/src/incremental_intf.ml

blog post

this video