  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.
