Dida is a (WIP) library for streaming, incremental, iterative, internally-consistent computation on time-varying collections.
The jargon-free version: You write code that manipulates collections using familiar operations like map, join and loop. You run the code on some input and get some output. Then when the input changes, you get changes to the output, much faster than recomputing the whole thing from scratch. (And the outputs will be correct!)
If you want to learn how it works, start at docs/why.md and then read lib/dida/core.zig.
Dida is heavily based on differential dataflow and is informed by experience using differential dataflow as a backend at materialize.
Compared to differential dataflow, dida aims to:
unprocessed_frontier_updatesdoWork is roughly bounded
orderPointstamps(start,end) != .lt(top 24 of 31)
1,445 followers · starred Jun 2021
168 followers · starred Jun 2021
7,962 followers · starred Jun 2021
195 followers · starred Jun 2021
Dida is a (WIP) library for streaming, incremental, iterative, internally-consistent computation on time-varying collections.
The jargon-free version: You write code that manipulates collections using familiar operations like map, join and loop. You run the code on some input and get some output. Then when the input changes, you get changes to the output, much faster than recomputing the whole thing from scratch. (And the outputs will be correct!)
If you want to learn how it works, start at docs/why.md and then read lib/dida/core.zig.
Dida is heavily based on differential dataflow and is informed by experience using differential dataflow as a backend at materialize.
Compared to differential dataflow, dida aims to:
unprocessed_frontier_updatesdoWork is roughly bounded
orderPointstamps(start,end) != .lt(top 24 of 31)
1,445 followers · starred Jun 2021
168 followers · starred Jun 2021
7,962 followers · starred Jun 2021
195 followers · starred Jun 2021