POPL 2024
Sun 14 - Sat 20 January 2024 London, United Kingdom
Fri 19 Jan 2024 13:40 - 14:00 at Turing Lecture - Medley Chair(s): Xiaokang Qiu

Bidirectional live programming systems (BLP) enable developers to modify the program by directly manipulating the program output, so that the modified program can produce the manipulated output. One state-of-the-art approach to the construction of BLP systems is operation-based, which captures the developer’s intention of program modification by taking how the developer manipulates the output into account. However, in order to reflect operations on the output to the source program, it needs the trace information between the source code and the manipulated output, and thus requires that direct manipulation users be aware of the source code, which makes “direct” manipulation (on output) be “indirect”.

In this paper, we resolve this problem by presenting a novel operation-based framework for bidirectional live programming, which can automatically fuse direct manipulations into the source code, thus supporting code-insensitive direct manipulations. Firstly, we design a simple but expressive delta language DM capable of expressing common direct manipulations for output values. Secondly, we present a fusion algorithm that propagates direct manipulations into the source functional programs and applies them to the constants whenever possible; otherwise, the algorithm embeds manipulations into the “proper positions” of programs. We prove the correctness of the fusion algorithm that the modified program executes to get the manipulated output. To demonstrate the expressiveness of DM and the effectiveness of our fusion algorithm, we have implemented FuseDM, a prototype SVG editor that supports GUI-based operations for direct manipulation, and successfully designed 14 benchmark examples starting from blank code using FuseDM.

Fri 19 Jan

Displayed time zone: London change

13:20 - 14:40
MedleyPOPL at Turing Lecture
Chair(s): Xiaokang Qiu Purdue University
13:20
20m
Talk
Guided Equality Saturation
POPL
Thomas Koehler INRIA, Andrés Goens University of Amsterdam, Siddharth Bhat the University of Edinburgh, Tobias Grosser University of Edinburgh, Phil Trinder University of Glasgow, Michel Steuwer TU Berlin; University of Edinburgh
Pre-print
13:40
20m
Talk
Fusing Direct Manipulations into Functional Programs
POPL
Xing Zhang Peking University, Ruifeng Xie Peking University, Guanchen Guo Peking University, Xiao He University of Science and Technology Beijing, Tao Zan Longyan University, Zhenjiang Hu Peking University
Pre-print
14:00
20m
Talk
Inference of Robust Reachability Constraints
POPL
Yanis Sellami CEA, List, Univ. Grenoble Alpes, Guillaume Girol CEA, List, Université Paris Saclay, Frédéric Recoules CEA, List, Damien Couroussé Univ Grenoble Alpes, CEA, List, Sébastien Bardin CEA LIST, University Paris-Saclay
14:20
20m
Talk
Nominal Recursors as Epi-RecursorsDistinguished Paper
POPL
Andrei Popescu University of Sheffield