Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

A Consistent Semantics of Self-Adjusting Computation

Summary: A Consistent Semantics of Self-Adjusting
Umut A. Acar1
, Matthias Blume1
, and Jacob Donham2
Toyota Technological Institute
Carnegie Mellon University
Abstract. This paper presents a semantics of self-adjusting computa-
tion and proves that the semantics is correct and consistent. The seman-
tics integrates change propagation with the classic idea of memoization to
enable reuse of computations under mutation to memory. During evalua-
tion, reuse of a computation via memoization triggers a change propaga-
tion 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-determinism is not harmful: any two evaluations of
the same program starting at the same state yield the same result. Our
correctness theorem states that mutation is not harmful: self-adjusting


Source: Acar, Umut - Programming Languages and Systems Group, Max-Planck Institute for Software Systems
Blume, Matthias - Google Research


Collections: Computer Technologies and Information Sciences