English

Incremental Computation: What Is the Essence?

Programming Languages 2025-10-15 v2

Abstract

Incremental computation aims to compute more efficiently on changed input by reusing previously computed results. We give a high-level overview of works on incremental computation, and highlight the essence underlying all of them, which we call incrementalization -- the discrete counterpart of differentiation in calculus. We present the gist of a systematic method for incrementalization, and a systematic method centered around it -- called Iterate-Incrementalize-Implement -- for program design and optimization, as well as algorithm design and optimization. We illustrate the methods with example applications in arithmetic computations, recursive functions, graph analysis, and distributed algorithms. At a meta-level, with historical contexts and for future directions, we stress the power of high-level data, control, and module abstractions in developing new and better algorithms and programs as well as their precise complexities.

Keywords

Cite

@article{arxiv.2312.07946,
  title  = {Incremental Computation: What Is the Essence?},
  author = {Yanhong A. Liu},
  journal= {arXiv preprint arXiv:2312.07946},
  year   = {2025}
}

Comments

v2: Invited and to appear in Foundations and Trends in Programming Languages, Now Publishers

R2 v1 2026-06-28T13:49:25.257Z