| | |
Summary: A Consistent Semantics of Self-Adjusting
Computation
Umut A. Acar1
Matthias Blume1
Jacob Donham2
December 2006
CMU-CS-06-168
School of Computer Science
Carnegie Mellon University
Pittsburgh, PA 15213
1Toyota Technological Institute
2Carnegie Mellon University
Keywords: self-adjusting computation, semantics, correctness proof
Abstract
This paper presents a semantics of self-adjusting computation and proves that the semantics is
correct and consistent. The semantics integrates change propagation with the classic idea of mem-
oization to enable reuse of computations under mutation to memory. During evaluation, reuse of a
computation via memoization triggers a change propagation that adjusts the reused computation to
reflect the mutated memory. Since the semantics combines memoization and change-propagation,
it involves both non-determinism and mutation. Our consistency theorem states that the non-
|