English

Projectional Editors for JSON-Based DSLs

Human-Computer Interaction 2023-07-24 v1 Programming Languages

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

R2 v1 2026-06-28T11:36:31.993Z