English

Literate Execution

Programming Languages 2026-05-04 v2

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 and self-explanatory, and explorable explanations easier to program.

Keywords

Cite

@article{arxiv.2604.26967,
  title  = {Literate Execution},
  author = {Joe Bond and Jacob Pake and Cristina David and Andrew McNutt and Trevor Sseguya Muwonge and Dominic Orchard and Roly Perera},
  journal= {arXiv preprint arXiv:2604.26967},
  year   = {2026}
}

Comments

A version of this paper was accepted to the 16th Annual Workshop on the Intersection of HCI and PL (PLATEAU 2026). https://2026.plateau-workshop.org/

R2 v1 2026-07-01T12:41:57.924Z