Fri May 24 13:14:39 EDT 2019

why redo is so great

I like functional programming, meaning I like to keep dependencies
explicit, and I like to build bigger things from smaller things
keeping that context-independent way of thinking.

But it is just too hard to glue it to existing imperative

Pure functional programming allows laziness.  The variant of laziness
that maps to imperative infrastructure is reactive systems: event
propagation + idempotency.

So why is redo so great?  Because it is reactive imperative
programming constructed by building onto old, imperative
infrastructure, and augmenting it with a reactive framework that is
also compositional.  The latter part is REALLY important.  It is what
distinguishes it from make.