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

03/12/2023
by   Joshua Horowitz, et al.
0

Efforts to push programming beyond static textual code have sought to imbue programming with multiple distinct qualities. One long-acknowledged quality is liveness: providing programmers with in-depth feedback about a program's dynamic behavior as the program is edited. A second quality, long-explored but lacking a shared term of art, is richness: allowing programmers to edit programs though domain-specific representations and interactions rather than solely through text. In this paper, we map the relationship between these two qualities and survey past work that exemplifies them. We observe that systems combining liveness and richness often do so at the cost of an essential quality of traditional programming: composability. We argue that, by combining liveness, richness, and composability, programming systems can better capture the full potential of interactive computation without leaving behind the expressivity of traditional code.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/01/2019

Babylonian-style Programming: Design and Implementation of an Integration of Live Examples into General-purpose Source Code

When working on a program, developers traditionally have to simulate the...
research
05/01/2018

Live Functional Programming with Typed Holes

This paper develops a dynamic semantics for incomplete functional progra...
research
07/24/2023

Refining ChatGPT-Generated Code: Characterizing and Mitigating Code Quality Issues

In this paper, we systematically study the quality of 4,066 ChatGPT-gene...
research
08/08/2021

Situated Live Programming for Human-Robot Collaboration

We present situated live programming for human-robot collaboration, an a...
research
02/14/2020

Foundations of a live data exploration environment

Context: A growing amount of code is written to explore and analyze data...
research
09/06/2021

Edit-Run Behavior in Programming and Debugging

As developers program and debug, they continuously edit and run their co...
research
07/20/2023

Projectional Editors for JSON-Based DSLs

Augmenting text-based programming with rich structured interactions has ...

Please sign up or login with your details

Forgot password? Click here to reset