Differential Dataflow for Mere Mortals
Dida is heavily based on differential dataflow and is informed by experience using differential dataflow as a backend at materialize. Only implement as much of timely dataflow as is needed to support the features in differential dataflow. Store all state associated with the dataflow in a single flat structure for easy introspection. Split the api into a data-centric runtime-checked core, and a per-binding-language strongly-typed sugar that helps make dataflows correct-by-construction. Support storing data inline in indexes when the size is only known at runtime. Write a short book that uses the debuggers to explain both the theory of differential dataflow and the details of this implementation. Figure out a cheaper way to maintain frontier support?