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:
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.