一句话:提出声明式 DSL Spytial,以空间语义和约束求解将程序值渲染为可交互二维图,并支持多语言嵌入与反事实调试。
论文解决为编程语言数据构造图示困难的问题。作者提出声明式 DSL Spytial,捕捉数据的关键空间特征,并赋予空间语义,把值映射到二维平面,证明若干关键性质;系统利用约束求解生成可交互渲染。Spytial 可嵌入 Python、Rust 与 Pyret 三种差异很大的语言。论文还提出一种结合文本与视觉输出的反事实调试辅助,用于图示错误。评估从表达力、性能和诊断质量三方面展开,并展示如何在保持空间约束的同时交互式、可视化地构造值。
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.
@article{PrasadTKNK26,
title = {Diagramming Program Values by Spatial Refinement},
author = {Siddhartha Prasad and Michael Tu and Karan Kashyap and Tim Nelson and Shriram Krishnamurthi},
journal = {Proceedings of the ACM on Programming Languages},
volume = {10},
number = {PLDI},
year = {2026},
doi = {10.1145/3808275}
}