학술논문

Projectional Editors for JSON-Based DSLs
Document Type
Conference
Source
2023 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) VL-HCC Visual Languages and Human-Centric Computing (VL/HCC), 2023 IEEE Symposium on. :60-70 Oct, 2023
Subject
Computing and Processing
Visualization
Data visualization
Prototypes
Programming
DSL
Structure Editors
Projections
JSON
DSLs
Language
ISSN
1943-6106
Abstract
Augmenting text-based programming with rich structured interactions has been explored in many ways. Among these, projectional editors offer an enticing combination of structure editing and domain-specific program visualization. Yet such tools are typically bespoke and expensive to produce, leaving them inaccessible to many DSL and application designers. We describe a relatively inexpensive way to build rich projectional editors for a large class of DSLs—namely, those defined using JSON. Given any such JSON-based DSL, we derive a projectional editor through (i) a language-agnostic mapping from JSON Schemas to structure-editor GUIs and (ii) an API for application designers to implement custom views for the domain-specific types described in a schema. We implement these ideas in a prototype, Prong, which we illustrate with several examples including the Vega and Vega-Lite data visualization DSLs.