Most live programming work has focused on how program output can be updated continuously as programmers change code. However, output can change drastically with respect to code changes, limiting the usefulness of live programming experiences. A better live programming experience lies in having programmers manipulate program output instead, and then gradually abstract that output into generalized code. We show how gradual abstraction can let users build diagrams as a fluid activity augmented by the computer.
I am an independent programming language researcher who focuses on design, objects, IDEs, live programming, and how we could program with touch.