International audienceWith recent advances, programs can be compiled to efficiently respond to incremental input changes. However, there is no language level support for reasoning about the time complexity of incremental updates. Motivated by this gap, we present CostIt, a higher-order functional language with a lightweight refinement type system for proving asymptotic bounds on incremental computation time. Type refinements specify which parts of inputs and outputs may change, as well as dynamic stability, a measure of time required to propagate changes to a program's execution trace, given modified inputs. We prove our type system sound using a new step-indexed cost semantics for change propagation and demonstrate the precision and genera...
A study of the general properties of incremental algorithms is presented. First, it is shown that wi...
Incremental computations are those that process input changes faster than naive computation that run...
A systematic approach is given for deriving incremental programs from non-incremental programs writt...
With recent advances, programs can be compiled to efficiently respond to incremental input changes. ...
Self-adjusting computation is a language-based approach to writing programs that respond dynamically...
Self-adjusting computation is an evaluation model in which pro-grams can respond efficiently to smal...
Incremental computation takes advantage of repeated computations on inputs that differ slightly fro...
AbstractA common way to evaluate the time complexity of an algorithm is to use asymptotic worst-case...
Many researchers have proposed programming languages that sup-port incremental computation (IC), whi...
Incremental computations can improve the performance of interactive programs such as spreadsheet pro...
Self-adjusting computation enables writing programs that can automatically and efficiently respond t...
Incremental computation takes advantage of repeated computations on inputs that differ slightly from...
An incremental algorithm (also called a dynamic update algorithm) updates the answer to some problem...
Incremental computations can improve the performance of interactive programs such as spreadsheet pro...
We develop an explicit two level system that allows programmers to reason about the behavior of effe...
A study of the general properties of incremental algorithms is presented. First, it is shown that wi...
Incremental computations are those that process input changes faster than naive computation that run...
A systematic approach is given for deriving incremental programs from non-incremental programs writt...
With recent advances, programs can be compiled to efficiently respond to incremental input changes. ...
Self-adjusting computation is a language-based approach to writing programs that respond dynamically...
Self-adjusting computation is an evaluation model in which pro-grams can respond efficiently to smal...
Incremental computation takes advantage of repeated computations on inputs that differ slightly fro...
AbstractA common way to evaluate the time complexity of an algorithm is to use asymptotic worst-case...
Many researchers have proposed programming languages that sup-port incremental computation (IC), whi...
Incremental computations can improve the performance of interactive programs such as spreadsheet pro...
Self-adjusting computation enables writing programs that can automatically and efficiently respond t...
Incremental computation takes advantage of repeated computations on inputs that differ slightly from...
An incremental algorithm (also called a dynamic update algorithm) updates the answer to some problem...
Incremental computations can improve the performance of interactive programs such as spreadsheet pro...
We develop an explicit two level system that allows programmers to reason about the behavior of effe...
A study of the general properties of incremental algorithms is presented. First, it is shown that wi...
Incremental computations are those that process input changes faster than naive computation that run...
A systematic approach is given for deriving incremental programs from non-incremental programs writt...