Replies: 5 comments
-
Found it. @article{acar2006adaptive,
title={Adaptive functional programming},
author={Acar, Umut A and Blelloch, Guy E and Harper, Robert},
journal={ACM Transactions on Programming Languages and Systems (TOPLAS)},
volume={28},
number={6},
pages={990--1034},
year={2006},
publisher={ACM New York, NY, USA}
} |
Beta Was this translation helpful? Give feedback.
-
There is much more. Incremental computation as such has a long history. There is a overview in A categorized bibliography on incremental computation. Acar et al. 's Adaptive Functional Programming spawned a new stream of research, they later called self-adjusting-computation. As shown by Acar et al. self-adjusting-computation can be implemented as a library based on combinators. While the combinators track dependencies, a change-propagation mechanism takes care of making all outputs consistent given modified inputs (as a batch operation). Carlsson's paper Monads for incremental computing showed a lightweight DSL for adaptive computation and is similar to FSharp.Data.Adaptive had an earlier life in the context of the aardvark rendering engine. Incremental optimization techniques such as Lazy Incremental Compuation for Efficient Scene Graph Rendering used Hudson's lazy graph update algorithm which utilizes an explicit marking phase, which is different from Acar's push based change propagation algorithm. Eager out-of-date marking paired with lazy re-compuation turned out to be very useful for rendering applications (e.g. here). By far this is not all, important related work from FRP side is missing here. Maybe others can comment on this as well. |
Beta Was this translation helpful? Give feedback.
-
@haraldsteinlechner if it's ok I'll include that section you've written in the documentation. |
Beta Was this translation helpful? Give feedback.
-
Sure. Just updated the text a bit. I will come back to this issue when new papers pop up in that field. |
Beta Was this translation helpful? Give feedback.
-
It is lambda capturing at its finest |
Beta Was this translation helpful? Give feedback.
-
Hi,
It is a very intersting paradigm. Any bibliographic references on this type of computation (for example versus FRP) ?
Regards,
Beta Was this translation helpful? Give feedback.
All reactions