Live Rewriting Under Concatenative Programming

Abstract

This system brings together two uncommon programming paradigms at once in a live environment where program structure, visualisation, and editing align in interesting ways. It combines concatenative, rewriting, and live programming in an interactive programming environment, using each of them to compensate for weaknesses of the other, while exposing the system state for inspection and for modification through both direct manipulation and evaluation of ad hoc code.

The rest of this essay presents a live multi-stack concatenative programming system operating over a rewriting substrate, and argues for the value of such a hybrid. In this system, functions can be defined in conventional concatenative style, or as rewriting operations, or even combinations of both, and all application proceeds by rewriting the remaining program and state. In doing so, new possibilities for run-time intervention are exposed: the program can be paused and both state and pending code can be edited, including the equivalent of the call stack, but yet more dynamic options are also available, including evaluating other programs ad hoc within the main program’s state. We also identify bindings between program-level stacks and external resources that can allow bidirectional direct manipulation of visible state.

Authors

Michael Homer

Published in

Workshop on Live Programming (LIVE), 2026

Resources

Michael Homer — 2026 0d113133