DeCo: A Core Calculus for Incremental Functional Programming with Generic Data Types

📅 2026-02-24
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing general-purpose incremental computation techniques struggle to efficiently support domain-specific operations over user-defined data types, while domain-specific approaches often lack generality. This work proposes DeCo, a core calculus for incremental functional programming that supports generic data types and, for the first time, enables fine-grained static incrementalization of arbitrary user-defined operations within a unified framework—treating them as more than black boxes. Built upon formal semantics and mechanically verified in Lean, DeCo includes an executable implementation demonstrated across diverse domains such as linear algebra, relational algebra, dictionaries, trees, and conflict-free replicated data types. Theoretical results guarantee that DeCo’s incremental execution is observationally equivalent to full recomputation, and empirical evaluations confirm both the practical feasibility and performance benefits of the approach.

Technology Category

Application Category

📝 Abstract
Incrementalization speeds up computations by avoiding unnecessary recomputations and by efficiently reusing previous results. While domain-specific techniques achieve impressive speedups, e.g., in the context of database queries, they are difficult to generalize. Meanwhile, general approaches offer little support for incrementalizing domain-specific operations. In this work, we present DeCo, a novel core calculus for incremental functional programming with support for a wide range of user-defined data types. Despite its generic nature, our approach statically incrementalizes domain-specific operations on user-defined data types. It is, hence, more fine-grained than other generic techniques which resort to treating domain-specific operations as black boxes. We mechanized our work in Lean and proved it sound, meaning incrementalized execution computes the same result as full reevaluation. We also provide an executable implementation with case studies featuring examples from linear algebra, relational algebra, dictionaries, trees, and conflict-free replicated data types, plus a brief performance evaluation on linear and relational algebra and on trees.
Problem

Research questions and friction points this paper is trying to address.

incremental programming
generic data types
domain-specific operations
functional programming
incrementalization
Innovation

Methods, ideas, or system contributions that make the work stand out.

incremental programming
core calculus
generic data types
static incrementalization
formal verification
🔎 Similar Papers
No similar papers found.