Hostname: page-component-77c78cf97d-7dld4 Total loading time: 0 Render date: 2026-04-23T10:32:34.769Z Has data issue: false hasContentIssue false

A consistent semantics of self-adjusting computation

Published online by Cambridge University Press:  22 October 2013

UMUT A. ACAR
Affiliation:
Carnegie Mellon University, Pittsburgh, PA 15213, USA (e-mail: umut@cs.cmu.edu)
MATTHIAS BLUME
Affiliation:
Google Inc., Chicago, IL, USA (e-mail: blume@google.com)
JACOB DONHAM
Affiliation:
Twitter Inc., San Francisco, CA, USA (e-mail: jake.donham@gmail.com)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

This paper presents a semantics of self-adjusting computation and proves that the semantics is correct and consistent. The semantics introduces memoizing change propagation, which enhances change propagation with the classic idea of memoization to enable reuse of computations even when memory is mutated via side effects. During evaluation, computation reuse via memoization triggers a change-propagation algorithm that adapts the reused computation to the memory mutations (side effects) that took place since the creation of the computation. Since the semantics includes both memoization and change propagation, it involves both non-determinism (due to memoization) and mutation (due to change propagation). 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 programs are compatible with purely functional programming. We formalize the semantics and its meta-theory in the LF logical framework and machine check our proofs using Twelf.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2013 
Submit a response

Discussions

No Discussions have been published for this article.