Glitch: Live Programming
Interesting read from Microsoft Research on Live Programming, As referenced by the paper, Bret Victor’s work has thankfully been considered. Now all we have to do is wait n years, and maybe Glitch will see the light of day in Visual Studio.
Input changes are often handled by reactive and incremental constructs that are tedious to use or inexpressive, while changes to program code are typically not handled at all during execution, complicating support for “live programming.” We propose that change in code and input should be managed automatically, similar to how garbage collection eliminates memory management as an explicit programmer concern. Our programming model, Glitch, realizes such managed time by progressively re-executing nodes of program execution when they become inconsistent due input/code state changes. Unlike many reactive models, Glitch supports expressive shared-state procedural programming, but with one caveat: operations on shared state must be undoable and commutative to ensure re-execution efﬁciency and eventual consistency. Still, complex programs like compilers can be written in Glitch using mundane programming styles.