Tue Jun 23 08:53:08 EDT 2020

Redo and "gathering patches"

I am very happy with the generalized redo approach.  There is one
thing though that does not work properly: gathering patches.

Say I have a system (typically a db, or some other expensive state
that is unacceptable to be "recomputed" on every change, like
restarting a machine), and I want to let redo gather all the
increments that are made to that system, but apply the patch only
once.  How do I go about that?

The basic pattern seems to be that there is one central rule that
takes as input all the "diffs", computes a new state possibly
performing other side effects, and then computes a number of output
diffs triggers to feed back into other systems.

So a centralized diff in - diff out.