Recursive Program Synthesis using Paramorphisms

Qiantan Hong, Alex Aiken · Proceedings of the ACM on Programming Languages · 2024

We show that synthesizing recursive functional programs using a class of primitive recursive combinators is both simpler and solves more benchmarks from the literature than previously proposed approaches. Our method synthesizes paramorphisms, a class of programs that includes the most common recursive programming patterns on algebraic data types. The crux of our approach is to split the synthesis problem into two parts: a multi-hole template that fixes the recursive structure, and a search for non-recursive program fragments to fill the template holes.

Read the paper · More papers on PaperTik