This papers proposes techniques for writing self-adjusting programs that can adjust to any change to their data (e.g., inputs, decisions made during the computation) etc. We show that the techniques are efficient by considering a num-ber of applications including several sorting algorithms, and the Graham Scan, and the quick hull algorithm for comput-ing convex hulls. We show that the techniques are flexible by showing that self-adjusting programs can be trivially trans-formed into a kinetic programs that maintain their prop-erty as their input move continuously. We show that the techniques are practical by implementing a Standard ML library for kinetic data structures and applying the library to kinetic convex hulls. We show that the kinet...
Combining type theory, language design, and empirical work, we present techniques for computing with...
Computational problems that involve dynamic data, such as physics simulations and program developmen...
Computational problems that involve dynamic data, such as physics simulations and program developmen...
AbstractWe present a Standard ML library for writing programs that automatically adjust to changes t...
Self-adjusting computation enables writing programs that can automatically and efficiently respond t...
Dependence graphs and memoization can be used to efficiently update the output of a program as the i...
Computational problems that involve dynamic data have been an important subject of study in programm...
Self-adjusting computation is a language-based approach to writing programs that respond dynamically...
International audienceComputational problems that involve dynamic data, such as physics simulations ...
We combine adaptivity and memoization to obtain an incremental computation technique that dramatical...
Define a static algorithm to be an algorithm that computes some combinatorial property of its input ...
This paper presents a semantics of self-adjusting computation and proves that the seman-tics are cor...
Memoization may be viewed as a mechanism for re-using a computation---if a function is re-applied to...
This paper presents a semantics of self-adjusting computation and proves that the semantics is corre...
Abstract: "We combine adaptivity and memoization to obtain an incremental computation technique that...
Combining type theory, language design, and empirical work, we present techniques for computing with...
Computational problems that involve dynamic data, such as physics simulations and program developmen...
Computational problems that involve dynamic data, such as physics simulations and program developmen...
AbstractWe present a Standard ML library for writing programs that automatically adjust to changes t...
Self-adjusting computation enables writing programs that can automatically and efficiently respond t...
Dependence graphs and memoization can be used to efficiently update the output of a program as the i...
Computational problems that involve dynamic data have been an important subject of study in programm...
Self-adjusting computation is a language-based approach to writing programs that respond dynamically...
International audienceComputational problems that involve dynamic data, such as physics simulations ...
We combine adaptivity and memoization to obtain an incremental computation technique that dramatical...
Define a static algorithm to be an algorithm that computes some combinatorial property of its input ...
This paper presents a semantics of self-adjusting computation and proves that the seman-tics are cor...
Memoization may be viewed as a mechanism for re-using a computation---if a function is re-applied to...
This paper presents a semantics of self-adjusting computation and proves that the semantics is corre...
Abstract: "We combine adaptivity and memoization to obtain an incremental computation technique that...
Combining type theory, language design, and empirical work, we present techniques for computing with...
Computational problems that involve dynamic data, such as physics simulations and program developmen...
Computational problems that involve dynamic data, such as physics simulations and program developmen...