Fusing Direct Manipulations into Functional Programs
summary
Operation-based system defines a small composable Delta language DM for edits (add, mul, tuple, list-fold, constraints) and a fusion algorithm that propagates those deltas into functional code, applying changes to constants when possible or embedding them at proper positions otherwise. Proof guarantees the updated program re-executes to produce the manipulated output. Implementation is an SVG editor called FuseDM with GUI actions (deltas come from UI choices, not inference) and 14 nontrivial benchmark examples.
AI-written summary · about
chapters (13)
- 0:00Direct manipulation in functional programs
- 1:10Bidirectional live programming
- 3:01Limitations of operation systems
- 4:06Delta language for manipulations
- 6:39SVG editor prototype demo
- 7:00Delta language constructs
- 9:26Constraint introduction in Delta
- 10:53Fusion algorithm for embedding
- 13:27Benchmark examples and effectiveness
- 14:09Summary of contributions
- 14:32Q&A on fusion guarantees
- 16:21Q&A on Delta inference
- 17:48Q&A on fusion correctness
