SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal
Mon 23 Oct 2023 09:30 - 10:00 at Room V - PAINT 2023 - Session 1

jq is a widely-used command-line tool for filtering and transforming JSON data, in the vein of sed and awk, including a bespoke programming language for writing the filters. The paradigm of that language is unusual: while its appearance is somewhere between a shell pipeline and JavaScript, the language is pure-functional and essentially concatenative, the pipelines branch and interleave data invisibly, implicit output flattening obscures all these effects, and most users are unaware of any of its semantics, leading to confusion when encountering any of these latent elements and difficulty in constructing appropriate non-trivial filters, all the while common debugging techniques are also obstructed by the paradigm. These confusions can be eliminated by visually demonstrating the recursively forking nature of evaluation on actual data, and allowing manipulations of the program or data to be reflected live, but no such tool exists for jq or any similar approaches. We present a visualisation of jq’s execution model that makes the branching nature manifest, illustrating its effects on concrete values provided by the user, and editing affordances that allow manipulating the program with reference to real data.

Mon 23 Oct

Displayed time zone: Lisbon change

09:00 - 10:30
PAINT 2023 - Session 1PAINT at Room V
09:00
30m
Talk
Toward Studying Example-based Live Programming in CS/SE Education
PAINT
Eva Krebs Hasso Plattner Institute (HPI), University of Potsdam, Germany, Toni Mattis University of Potsdam; Hasso Plattner Institute, Patrick Rein University of Potsdam; Hasso Plattner Institute, Robert Hirschfeld University of Potsdam; Hasso Plattner Institute
Link to publication DOI
09:30
30m
Talk
Branching Compositional Data Transformations in jq, VisuallyRemote
PAINT
Michael Homer Victoria University of Wellington
Link to publication DOI
10:00
30m
Talk
PescaJ: A projectional editor for Java featuring scattered code aggregation
PAINT
José Lopes Instituto Universitário de Lisboa (ISCTE-IUL), André L. Santos University Institute of Lisbon, Portugal
Link to publication DOI