Diagramming Program Values by Spatial Refinement
Siddhartha Prasad, Michael Tu, Karan Kashyap, Tim Nelson, Shriram Krishnamurthi
Abstract
Diagrams enable programmers to reason, debug, and communicate. However, constructing diagrams for programming language data is unnecessarily hard. We present a declarative DSL, Spytial , that captures the essential spatial features of data. We endow Spytial with a spatial semantics, mapping values to the 2D plane, and prove key properties. Spytial uses constraint-solving to make interactive renderings. We show how Spytial can be embedded in three very different languages: Python, Rust, and Pyret. We present a novel counterfactual debugging aid for diagramming errors, combining textual and visual output. We evaluate the language and system for expressiveness, performance, and diagnostic quality. Finally, we also show how Spytial can be used to construct values interactively and visually while preserving spatial constraints.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext a6eb9177-9236-473d-a8fb-7d8664b7275fBuilds on5
- Scalability of Network Visualisation from a Cognitive Load PerspectiveVahan Yoghourdjian, Yalong Yang, Tim Dwyer, Lawrence Lee et al.IEEE VIS 2020 · 59 citations
- Penrose: from mathematical notation to beautiful diagramsKatherine Ye, Wode Ni, Max Krieger, Dor Ma'ayan et al.SIGGRAPH 2020 · 53 citations
- How Domain Experts Create Conceptual Diagrams and Implications for Tool DesignDor Ma'ayan, Wode Ni, Katherine Ye, Chinmay Kulkarni et al.CHI 2020 · 19 citations
- Bluefish: Composing Diagrams with Declarative RelationsJosh Pollock, Catherine Mei, Grace Huang, Elliot Evans et al.UIST 2024 · 12 citations
- Conflict-Driven Synthesis for Layout EnginesJunrui Liu, Yanju Chen, Eric Atkinson, Yu Feng et al.PLDI 2023 · 5 citations
Related papers
- Rust yDL: A Program Logic for RustDaniel Drodt, Reiner HähnleFM 2026
- Mixing Linters with GUIs: A Color Palette Design ProbeAndrew M. McNutt, Maureen C. Stone, Jeffrey HeerIEEE VIS 2024 · 6 citations
- An Interactive Debugger for Rust Trait ErrorsGavin Gray, Will Crichton, Shriram KrishnamurthiPLDI 2025 · 1 citation
- Adding interactive visual syntax to textual codeLeif Andersen, Michael Ballantyne, Matthias FelleisenOOPSLA 2020 · 28 citations
- The Shapes of Abstraction in Data Structure DiagramsDevamardeep Hayatpur, Brian Hempel, Richard Lin, Haijun XiaCHI 2025 · 7 citations
