A consistent semantics of self-adjusting computation

被引:0
作者
Acar, Umut A.
Blume, Matthias
Donham, Jacob
机构
来源
Programming Languages and Systems, Proceedings | 2007年 / 4421卷
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 memoization 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-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 consistent with purely functional programming. We formalized the semantics and its meta-theory in the LF logical framework and machine-checked the proofs in Twelf.
引用
收藏
页码:458 / 474
页数:17
相关论文
共 19 条
[1]  
Acar U. A., 2004, ACM SIAM S DISCR ALG
[2]  
ACAR UA, 2003, P 30 ANN ACM S PRINC
[3]  
ACAR UA, 2002, P 29 ANN ACM S PRINC, P247
[4]  
ACAR UA, 2006, P ACM SIGPLAN C PROG
[5]  
ACAR UA, 2006, CMUCS06115 DEP COMP
[6]  
ACAR UA, 2006, CMUCS06168 DEP COMP
[7]  
Acar Umut, 2005, THESIS C MELLON U
[8]  
Acar Umut A., 2005, WORKSH ALG ENG EXP
[9]  
Demers A., 1981, P 8 ANN ACM S PRINC, P105, DOI DOI 10.1145/567532.567544
[10]  
FIELD J, 1990, PROCEEDINGS OF THE 1990 ACM CONFERENCE ON LISP AND FUNCTIONAL PROGRAMMING, P307, DOI 10.1145/91556.91679