Expand description
Traits and implementations for differentiating and integrating collections.
The Differentiate
and Integrate
traits allow us to move between standard differential
dataflow collections, and collections that describe their instantaneous change. The first
trait converts a collection to one that contains each change at the moment it occurs, but
then immediately retracting it. The second trait takes such a representation are recreates
the collection from its instantaneous changes.
These two traits together allow us to build dataflows that maintain computates over inputs that are the instantaneous changes, and then to reconstruct collections from them. The most clear use case for this are “delta query” implementations of relational joins, where linearity allows us to write dataflows based on instantaneous changes, whose “accumluated state” is almost everywhere empty (and so has a low memory footprint, if the system works as planned).
Traits§
- Produce a collection containing the changes at the moments they happen.
- Collect instantaneous changes back in to a collection.