Programming with a Read-Eval-Synth Loop
summary
A live REPL extended with synthesis called Read-Eval-Synth Loop stitches examples, sketching, and new predicates (notably retain) into specifications so the synthesizer fills holes while the programmer watches subexpression values and loop iterations. The core algorithm generalizes observational equivalence with predicate-specific observers and extends input valuations to internal variables; it stops optimizing inside reduce. A 19‑participant study shows synthesis cuts edit iterations in 3 of 4 tasks, produces >50% of code in 2 tasks, and no RESL user abandons a task.
AI-written summary · about
chapters (5)
- 0:00Start
- 3:45РЭ predicates on programs
- 4:39Specification predicates 2. Sketching
- 11:18Does RESL reduce the editing load?
- 12:451. Specification predicates
related talks
14mLooPy: Interactive Program Synthesis with Control Structures
25mLive Programming and Programming by Example: Better Together
15mProgram Sketching with Live Bidirectional Evaluation
28mScooPy: Enhancing Program Synthesis with Nested Example Specifications
50mREPLs All The Way Up: A Rubric For Better Feedback Loops
55mREPLs All The Way Up: A Rubric For Virtuous Feedback Loops
20mEquivalence by Canonicalization for Synthesis-Backed Refactoring
32mREPL, do you speak it
