Literate Execution

📅 2026-04-17
📈 Citations: 0
Influential: 0
📄 PDF

career value

193K/year
🤖 AI Summary
Traditional literate programming struggles to dynamically link program execution with intermediate results. This work proposes a novel paradigm called “executable literate programming,” which treats explanatory content—such as narrative documentation and visualizations—as first-class constructs on par with code. Built upon the Fluid language and its runtime system that supports fine-grained provenance tracking, this approach explicitly records dependency relationships between inputs and outputs. For the first time, it achieves deep integration between explanatory artifacts and program execution, enabling an interactive programming environment where users can explore how intermediate values influence final outcomes. This significantly enhances both the interpretability and exploratory capabilities of computational workflows.
📝 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.
Problem

Research questions and friction points this paper is trying to address.

literate execution
program explanation
provenance tracking
explorable explanations
self-explanatory programs
Innovation

Methods, ideas, or system contributions that make the work stand out.

literate execution
provenance tracking
explorable explanations
Fluid programming language
program understanding
🔎 Similar Papers