A Many-Worlds Interpretation of State [talk]
This is a conference talk Malte and Niko gave at BobKonf 2019.
The functional approach to state management in the frontend was first
enabled by React, pioneered by the likes of om.next, Redux, and Elm,
and has ushered in a golden era in web development. It is captured by
the two signatures
view :: DB -> HTML and
mutate :: DB -> Tx ->
DB. What might happen when we start working with more than one world,
i.e. when we replace the notion of mutate with that of
solve :: DB ->
Tx -> [DB]?
Using Clojure and Rust, we explore these ideas in the context of 3DF, a stream processing system based on differential dataflows.