English

Program Synthesis Using Example Propagation

Programming Languages 2022-10-26 v1

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 λ2\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 λ2\lambda^2 and Myth. Scrybe is able to synthesize most of the combined benchmark tasks.

Keywords

Cite

@article{arxiv.2210.13873,
  title  = {Program Synthesis Using Example Propagation},
  author = {Niek Mulleners and Johan Jeuring and Bastiaan Heeren},
  journal= {arXiv preprint arXiv:2210.13873},
  year   = {2022}
}

Comments

17 pages, 4 figures, 2 tables