Program Synthesis Using Example Propagation
Publication date
2023-01-08
Editors
Hanus, Michael
Inclezan, Daniela
Advisors
Supervisors
Document Type
Part of book
Metadata
Show full item recordCollections
License
taverne
Abstract
We present Scrybe, an example-based synthesis tool for a statically-typed functional programming language, which combines top-down deductive reasoning in the style of $$\lambda ^2$$ with Smyth-style live bidirectional evaluation. During synthesis, example constraints are propagated through sketches to prune and guide the search. This enables Scrybe to make more effective use of functions provided in the context. To evaluate our tool, it is run on the combined, largely disjoint, benchmarks of $$\lambda ^2$$ and Myth. Scrybe is able to synthesize most of the combined benchmark tasks.
Keywords
Program synthesis, Constraint propagation, Input-Output examples, Functional programming, Taverne
Citation
Mulleners, N, Jeuring, J & Heeren, B 2023, Program Synthesis Using Example Propagation. in M Hanus & D Inclezan (eds), Practical Aspects of Declarative Languages - 25th International Symposium, PADL 2023, Proceedings : 25th International Symposium, PADL 2023, Boston, MA, USA, January 16–17, 2023, Proceedings. 1 edn, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 13880 LNCS, Springer, Cham, pp. 20-36. https://doi.org/10.1007/978-3-031-24841-2_2