Enriching our interfaces to programs and proofs with practical compositional diagramming.
When the whiteboards of working computer scientists, mathematicians, and programmers are filled with diagrams, why do their screens have almost none at all?
Existing diagramming tools can’t meet the practical needs of interactive, exploratory use, like keeping diagrams understandable as they grow in size with limited screen space, or as they evolve as the user steps through the program or proof.
I’m developing an approach that can—where diagrams are formed of independent parts composed in systematic ways reflecting the structure of object they represent, and where the diagramming system is a compiler from a higher-level description of the object to lower-level diagram components.
Techniques that make diagrams more practical, such as line-wrapping to fit a target size or animating incremental changes, fit neatly into a compositional approach.
Ultimately, I hope to build a useful diagramming system for programming and theorem-proving environments!
Hindustani classical music, choir and a capella, etymology, typography, bicycles,
postal mail, theatre, teaching, audio production, and reading too many newsletters.