I am a happy user of differential dataflow (DD), which has been great for simplifying an app that I care about.
The app in question already includes a form of the connected components computation Frank is describing improvements to in this post so I’m excited to see whether these ideas help make things work even better.
The app in question already includes a form of the connected components computation Frank is describing improvements to in this post so I’m excited to see whether these ideas help make things work even better.
Finally, if you’re interested in the original foundations underlying the underlying library, check out “Foundations of Differential Dataflow”, Abadi, McSherry, and Plotkin, FoSSaCS 2015: http://homepages.inf.ed.ac.uk/gdp/publications/differentialw... or, for even more mathematical context about why this works, check out, e.g., Bruce Sagan’s slides on the Mobius Inversion function: https://users.math.msu.edu/users/sagan/Slides/MfpBog1h.pdf
In conclusion: this transition from abelian groups to monoids looks like a nice generalization of the underlying theory!