Literate Execution
Joe Bond, Jacob Pake, Cristina David, Andrew McNutt, Trevor Sseguya Muwonge, Dominic Orchard, Roly Perera

TL;DR
Literate execution is a novel approach that treats documentation and visualizations as first-class, computable artifacts integrated into program execution, enhancing explorable and self-explanatory code.
Contribution
The paper introduces the concept of literate execution and demonstrates it through Fluid, a language with provenance-tracking that links inputs and outputs for better exploration.
Findings
Provenance relationships enable exploration of how intermediate values contribute to results.
Integration of visualization, provenance, and exposition makes programs more explorable.
Literate execution facilitates easier creation of explorable explanations.
Abstract
\emph{Literate programming}, introduced by Knurth, interleaves code and prose so that a program can be read as both executable and explanatory text. We propose \emph{literate execution}, which inverts this relationship: rather than embedding code within a static narrative, we treat documentation -- and other expository elements such as visualisations -- as first-class artefacts that can be computed alongside a running program and then integrated into a view of its execution. We explore this idea through Fluid, a programming language with a provenance-tracking runtime that records fine-grained dependencies between inputs and outputs. These provenance relationships can be surfaced as interactions that allow readers to explore how intermediate values contribute to a result. By integrating visualisation, provenance, and exposition, literate execution aims to make programs more explorable…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
