limitation of example-driven approaches to mixed-initiative co-creativity: you can't infer user intent purely from concrete examples. examples communicate both too little (missing general rules that guided example selection) & too much (extraneous features irrelevant to intent)
-
Show this thread
-
program synthesis is promising here bc if we can synthesize a bunch of simple candidate programs that match user-specified examples, we can then present these programs to the user directly ("did you mean X?"), let them pick the best program & refine it to clarify their intent
1 reply 0 retweets 8 likesShow this thread -
Max Kreminski Retweeted Max Kreminski
if you execute the interaction design correctly here, it starts to look a lot like explicit support for the process of intent formation! example-driven synthesis helps the user discover what concepts the system understands & how they can be combinedhttps://twitter.com/maxkreminski/status/1129122168871170048 …
Max Kreminski added,
Max Kreminski @maxkreminskisee also: some of my earlier musings about how creative tools need to *show possible alternatives*, not just help you accomplish tasks in other words, they need to support not just execution on intent but also the process of intent formation https://twitter.com/maxkreminski/status/748173042841452544 …Show this thread1 reply 0 retweets 4 likesShow this thread -
Replying to @maxkreminski
Strongly recommend the paper "Interactive Program Synthesis" (https://arxiv.org/pdf/1703.03539.pdf …). MSFT has the clearest perspective on this problem since they have actual users. Lots of interesting ideas, e.g. different forms of constraint specification.pic.twitter.com/XhkPXzSULJ
1 reply 0 retweets 4 likes -
Replying to @wcrichton
nice, thanks for the ref! also planning to do a short paper-of-the-week thread on your Human-Centric Program Synthesis paper soon too, since that one anticipates a lot of the things i’m working on to some extent
1 reply 0 retweets 1 like -
Replying to @maxkreminski
One idea not in that paper I've been focusing on: synthesis is a means of translating between representations of a program, usually low->high level (e.g. Python -> Pandas). What if you combine that with a compiler, i.e. going between high->low level representations?
1 reply 0 retweets 1 like -
Replying to @wcrichton @maxkreminski
If a tool can fluidly move back and forth between representations of a computation, how could that improve/augment representational competence (https://www.tandfonline.com/doi/abs/10.1207/s1532690xci2203_2 …)?
1 reply 0 retweets 2 likes
Many opportunities for contextualized education. If you want to learn functional programming, what if I could take the Python/Java programs you've already written, convert them to OCaml? Learning could be more effective if you already understand/care about the applications.
-
-
Replying to @wcrichton @maxkreminski
Worth observing that compiling is a lot easier than synthesizing in this framework. So I've started building tools in that direction:https://github.com/willcrichton/inliner …
0 replies 0 retweets 2 likesThanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
cognitive psychology. PhD