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.
Typst: Designing for Incrementality
Typst uses constrained memoization (comemo) and pure function design to make the language and compiler work together, achieving efficient incremental compilation and real-time preview. The article details the design ideas of layout caching, module evaluation memoization, function purity, and the introspection system.
Not quite exponential, but progress is progress
A reflection on AI or technology progress, noting that while growth may not be exponential, incremental progress is still valuable.
In-span learning: adapting reduced-order models using their own predictions
Introduces in-span learning, a method to adapt reduced-order models by streaming the model's own predictions through an incremental singular-value decomposition, reweighting and realigning the basis without changing the subspace. The approach is demonstrated on several dynamical systems and proposed as a computational-science analogue of in-context learning.
Dynamic Sampling that Adapts: Self-Aware Iterative Data Persistent Optimization for Mathematical Reasoning
SAI-DPO introduces a dynamic sampling framework that adapts training data to a model's evolving capabilities during mathematical reasoning tasks, using self-aware difficulty metrics and knowledge semantic alignment to achieve state-of-the-art efficiency with less data on benchmarks like AIME24 and AMC23.