Projectional Editors for JSON-Based DSLs
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.
Keywords
Cite
@article{arxiv.2307.11260,
title = {Projectional Editors for JSON-Based DSLs},
author = {Andrew McNutt and Ravi Chugh},
journal= {arXiv preprint arXiv:2307.11260},
year = {2023}
}
Comments
To appear at VL/HCC 2023