4 ms·
Differential Dataflow is about differential computation which itself is a generalization of incremental computing, most commonly known from Excel. A good intro
by dna_polymerase 6y ago
Differential Dataflow is about differential computation which itself is a generalization of incremental computing, most commonly known from Excel.
A good introduction to the overall topic is incremental [0] an OCaml library by Jane Street and the corresponding blog posts and videos [1]. They even use it for webapps [2].
[0]: https://github.com/janestreet/incremental https://github.com/janestreet/incremental
[1]: https://www.janestreet.com/tech-talks/seven-implementations-of-incremental/ https://www.janestreet.com/tech-talks/seven-implementations-... (Great to understand fundamentals of an incremental computation graph)
[2]: https://www.janestreet.com/tech-talks/intro-to-incr-dom/ https://www.janestreet.com/tech-talks/intro-to-incr-dom/
- Nelkins 6y agoI think the underlying algorithms/architecture are pretty different. I believe Incremental is based on http://matthewhammer.org/icfp11/ChenDuHaAc2011-implicit-SAC.pdf http://matthewhammer.org/icfp11/ChenDuHaAc2011-implicit-SAC.... and Differential Dataflow is based on the ideas in https://www.microsoft.com/en-us/research/wp-content/uploads/2013/11/naiad_sosp2013.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/... .
- skyde 6y agointeresting without me having to read both paper what would you say is the main differences? Pros and cons of each architectur?
- skratlo 6y agoThis should be the top comment, reading through those docs is a terrible experience, I think the author lacks any didactics experience
- mikewarot 6y ago"Incremental Computing" - A new term for me... I figured out how to do it a few days ago, after seeing this reference to MetaMine on Reddit https://www.reddit.com/r/programming/comments/j94lgd/metamine_a_completely_declarative_programming/ https://www.reddit.com/r/programming/comments/j94lgd/metamin... In Metamine, = signifies Equation, a persistent assignment. Any update to the value on the after which any change to the value results in all dependent values being recomputed. := signifies a standard one shot assignment. The runtime behavior is easy enough to implement, less than 100 lines of Pascal. I worried that the code for a language that supported it would be unreadable, like FORTH, only worse. Imagine if Excel spreadsheets were plain text source code.