Program Synthesis Using Example Propagation

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

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.

Original languageEnglish
Title of host publicationPractical Aspects of Declarative Languages - 25th International Symposium, PADL 2023, Proceedings
Subtitle of host publication25th International Symposium, PADL 2023, Boston, MA, USA, January 16–17, 2023, Proceedings
EditorsMichael Hanus, Daniela Inclezan
Place of PublicationCham
PublisherSpringer
Pages20-36
Number of pages17
Edition1
ISBN (Electronic)978-3-031-24841-2
ISBN (Print)978-3-031-24841-2, 978-3-031-24840-5
DOIs
Publication statusPublished - 8 Jan 2023

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13880 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Keywords

  • Program synthesis
  • Constraint propagation
  • Input-Output examples
  • Functional programming

Fingerprint

Dive into the research topics of 'Program Synthesis Using Example Propagation'. Together they form a unique fingerprint.

Cite this