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

by   Joshua Horowitz, et al.

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.


page 1

page 2

page 3

page 4


Live Functional Programming with Typed Holes

This paper develops a dynamic semantics for incomplete functional progra...

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

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

Situated Live Programming for Human-Robot Collaboration

We present situated live programming for human-robot collaboration, an a...

Foundations of a live data exploration environment

Context: A growing amount of code is written to explore and analyze data...

Edit-Run Behavior in Programming and Debugging

As developers program and debug, they continuously edit and run their co...

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