A transcript from a deeply insightful @strangeloop_stl 2018 talk: comparing software design to programs that generate programs.
Deductive synthesis can give us insights on choosing abstractions, and counter-example guided synthesis is much like TDD!
miniblog.
Related Posts
Codeforces is a huge website with a wealth of well-defined programming problems: https://codeforces.com/help#q1
(Useful for program synthesis and other situations where you want a large problem set to play with.)
I've been enjoying using Jest to run my tests, using the workflow where it re-runs the files on any change.
I wonder if it has the fuzzing/synthesis problem of running bad code though? I worry about writing `delete(".")` and it not waiting for me to finish `delete("./cache")`.
How do you do program synthesis when the user hasn't given enough examples? You find perturbation properties (e.g. change input => change output) to generate more examples!
