FlashFill++: Scaling Programming by Example by Cutting to the Chase
summary
FlashFill++ introduces cut functions, guarded DSLs, and middle-out synthesis to scale programming-by-example to a large DSL with date/time and numeric primitives and to produce idiomatic code for Excel formulas, PowerFx, and Python. It builds an industrial PBE engine that solves 92% of benchmarks versus 65% for the baseline, produces programs about 70% shorter, needs ~0.2 extra examples on average, and rates as more readable in a user study.
AI-written summary · about
chapters (16)
- 0:00FlashFill++ intro
- 1:03What is FlashFill
- 2:54User requests
- 4:18Idiomatic code translation
- 6:04Date and numeric tasks
- 7:52Larger DSL philosophy
- 8:56Middle out synthesis
- 12:31Cut functions simplify
- 15:22Middle out benefits
- 16:47Better ranking functions
- 17:29Experimental results
- 18:53FlashFill vs FlashFill++
- 19:13Readability improvements
- 20:40User study on clarity
- 21:23Availability and impact
- 21:46Q&A
related talks
10mData-centric disambiguation for data transformation with programming-by-example
39mSpreadsheets for developers
35mA Live Programming Experience
25mPlay with your code
49mEfficient Programmer++: Examples and Anti-Examples
48mSpreadsheets for Developers
14mExample-Based Live Programming for Everyone: Building Language-Agnostic Tools for Live Programming w
30mMANY USES OF SCALAFIDDLE
