A theory of changes for higher-order languages — incrementalizing λ-calculi by static differentiation | Lambda the Ultimate - http://lambda-the-ultimate.org/node...
"If the result of an expensive computation is invalidated by a small change to the input, the old result should be updated incrementally instead of reexecuting the whole computation. We incrementalize programs through their derivative. A derivative maps changes in the program’s input directly to changes in the program’s output, without reexecuting the original program." - Amit Patel