Fixing Incremental Computation: Derivatives of Fixpoints, and the Recursive Semantics of Datalog

Mario Alvarez-Picallo, Alex Eyers-Taylor, Michael Peyton Jones, C. -H. Luke Ong

Incremental computation has recently been studied using the concepts of change structures and derivatives of programs, where the derivative of a function allows updating the output of the function based on a change to its input. We generalise change structures to change actions, and study their algebraic properties. We develop change actions for common structures in computer science, including directed-complete partial orders and Boolean algebras. We then show how to compute derivatives of fixpoints. This allows us to perform incremental evaluation and maintenance of recursively defined functions with particular application to generalised Datalog programs. Moreover, unlike previous results, our techniques are modular in that they are easy to apply both to variants of Datalog and to other programming languages.

Knowledge Graph



Sign up or login to leave a comment