POPL 2025
Sun 19 - Sat 25 January 2025 Denver, Colorado, United States
Sat 25 Jan 2025 15:00 - 15:30 at Kick the Can - Session 3

In live programming systems, editor services such as type checking and evaluation are continually provided while the user is editing the program. The live paradigm offers benefits to developer experience and productivity. Generally editor services are stateless transformations that take only the current the program text as input, and compute the result from scratch. This presents a challenge to implementing live editors at scale, since the execution time will grow with the size of the program, and at some point will take too long to be recomputed between each edit.

This work presents a solution in the form of an incremental algorithm for maintaining a total static analysis of a program in a simple gradually typed language. Each edit action triggers an update to an enriched program data structure, yielding updated static information more efficiently than a fresh pass would. The algorithm is presented as a small-step dynamics to propagate updates through the enriched program data structure. Most updates flow according to the base bidirectional type system. Additional pointers are maintained to connect bound variables and their binding locations. Order maintenance data structures are employed to efficiently maintain these pointers and to prioritize the order of update propagation. We prove this algorithm equivalent to naive reanalysis in the Agda theorem prover. We implement the algorithm in the Incremental Hazelnut language workbench. We evaluate its performance on edit traces from real users as well as synthetic examples.

Abstract (wits25-final3.pdf)128KiB

Sat 25 Jan

Displayed time zone: Mountain Time (US & Canada) change

14:00 - 15:30
Session 3WITS at Kick the Can
14:00
30m
Other
Collaboration Time 1
WITS

14:30
30m
Talk
Semantic Analysis of Normalisation for Directional Logic ProgrammingRemote
WITS
Vikraman Choudhury Università di Bologna & Inria OLAS, Neel Krishnaswami University of Cambridge, Ariadne Si Suo University of Cambridge
File Attached
15:00
30m
Talk
Incremental Bidirectional Typing via Order Maintenance
WITS
Thomas J. Porter University of Michigan, Marisa Kirisame University of Utah, Liam Mulcahy University of Michigan, Pavel Panchekha University of Utah, Cyrus Omar University of Michigan
File Attached