Projectional Editors for JSON-Based DSLs

07/20/2023
by   Andrew McNutt, et al.
0

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.

READ FULL TEXT

page 1

page 3

page 4

page 6

research
08/23/2022

Towards Natural Language-Based Visualization Authoring

A key challenge to visualization authoring is the process of getting fam...
research
04/11/2018

A web service based on RESTful API and JSON Schema/JSON Meta Schema to construct knowledge graphs

Data visualisation assists domain experts in understanding their data an...
research
03/25/2022

Aspect-Oriented Programming based building block platform to construct Domain-Specific Language for HPC application

The world of HPC systems is changing to a more complicated system becaus...
research
07/20/2023

MediaGPT : A Large Language Model For Chinese Media

Large language models (LLMs) have shown remarkable capabilities in gener...
research
10/18/2021

Typed Image-based Programming with Structure Editing

Many beloved programming systems are image-based: self-contained worlds ...
research
10/22/2020

GEViTRec: Data Reconnaissance Through Recommendation Using a Domain-Specific Prevalence Visualization Design Space

Genomic Epidemiology (genEpi) is a branch of public health that uses man...
research
03/12/2023

Live, Rich, and Composable: Qualities for Programming Beyond Static Text

Efforts to push programming beyond static textual code have sought to im...

Please sign up or login with your details

Forgot password? Click here to reset