Incremental – A library for incremental computations
Summary
Incremental is a library from Jane Street for building efficient, self-adjusting computations that react to input changes, useful for spreadsheets, GUI views, and derived data synchronization.
View Cached Full Text
Cached at: 07/21/26, 06:36 AM
janestreet/incremental
Source: https://github.com/janestreet/incremental
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 [[http://www.umut-acar.org/self-adjusting-computation][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 [[https://github.com/janestreet/incremental/blob/master/src/incremental_intf.ml][incremental/src/incremental_intf.ml]]. You can also find an informal introduction to the library in this [[https://blog.janestreet.com/introducing-incremental][blog post]] and [[https://www.youtube.com/watch?v=G6a5G5i4gQU][this video]].
Similar Articles
Introducing Incremental
Jane Street announces Incremental, a library for building self-adjusting computations that efficiently update when inputs change, applicable to online algorithms, GUI construction, and configurable computations.
Practical Algorithms for Incremental Software Development Environments
This paper from UC Berkeley presents practical algorithms for incremental software development environments, addressing how to efficiently update and manage code changes.
Inside Zig's Incremental Compilation
A Zig core team member explains the internals and usage of Zig's incremental compilation, which allows rebuilds in milliseconds by recompiling only changed code and patching it into the binary.
@seclink: Classic pitfall of sccache and incremental being mutually exclusive: enabling both results in 20GB of incremental cache yet dependencies being recompiled every time. After turning off incremental: large third-party libraries (tokio/serde/axum/reqwest, etc.) compile once, across…
Explains the mutual exclusivity issue between sccache and incremental compilation: enabling both leads to 20GB incremental cache consumption and dependencies being recompiled each time. After disabling incremental, large third-party libraries compile once and are reused across projects, achieving a cache hit rate of 53–93% after the first compilation.
Provenance Guided Incremental Learning Under Evolving Concept Definitions
This paper introduces a provenance-guided incremental learning framework to handle rule-induced concept shifts, where target definitions change, and evaluates it on a new benchmark with improved efficiency and accuracy.