paper-with-me

Papers

Functional Program Synthesis with Higher-Order Functions and Recursion Schemes

2025-11-28 · Matheus Campos Fernandes arxiv

Program synthesis is the process of generating a computer program following a set of specifications, such as a set of input-output examples. It can be modeled as a search problem in which the search space is the set of all valid programs. As the search space is vast, brute force is usually not feasible, and search heuristics, such as genetic programming, also have difficulty navigating it without guidance. This text presents 2 novel GP algorithms that synthesize pure, typed, and functional programs: HOTGP and Origami. HOTGP uses strong types and a functional grammar, synthesizing Haskell code, with support for higher-order functions, $λ$-functions, and parametric polymorphism. Experimental results show that HOTGP is competitive with the state of the art. Additionally, Origami is an algorithm that tackles the challenge of effectively handling loops and recursion by exploring Recursion Schemes, in which the programs are composed of well-defined templates with only a few parts that need to be synthesized. The first implementation of Origami can synthesize solutions in several Recursion Schemes and data structures, being competitive with other GP methods in the literature, as well as LLMs. The latest version of Origami employs a novel procedure, called AC/DC, designed to improve the search-space exploration. It achieves considerable improvement over its previous version by raising success rates on every problem. Compared to similar methods in the literature, it has the highest count of problems solved with success rates of $100\%$, $\geq 75\%$, and $\geq 25\%$ across all benchmarks. In $18\%$ of all benchmark problems, it stands as the only method to reach $100\%$ success rate, being the first known approach to achieve it on any problem in PSB2. It also demonstrates competitive performance to LLMs, achieving the highest overall win-rate against Copilot among all GP methods.

📄 PDF Abstract BibTeX arXiv:2511.23354

Code (0)

등록된 구현이 없습니다.

Tasks

Program Synthesis

Similar Papers 제목 키워드 기반

HOTGP -- Higher-Order Typed Genetic Programming

2023-04-06 · Matheus Campos Fernandes, Fabrício Olivetti de França, Emilio Francesquini

Program synthesis is the process of generating a computer program following a set of specifications, which can be a high-level description of the problem and/or a set of input-output examples. The synthesis can be modele…

Program Synthesisvalid

LambdaBeam: Neural Program Search with Higher-Order Functions and Lambdas

2023-06-03 · NeurIPS 2023 11

Search is an important technique in program synthesis that allows for adaptive strategies such as focusing on particular search directions based on execution results. Several prior works have demonstrated that neural mod…

Program Synthesis

HOUDINI: Lifelong Learning as Program Synthesis

2018-03-31 · NeurIPS 2018 12 · Lazar Valkov, Dipak Chaudhari, Akash Srivastava, Charles Sutton 외

We present a neurosymbolic framework for the lifelong learning of algorithmic tasks that mix perception and procedural reasoning. Reusing high-level concepts across domains and learning complex procedures are key challen…

Lifelong learningProgram SynthesisTransfer Learning

Hailstorm : A Statically-Typed, Purely Functional Language for IoT Applications

2021-05-27 · Abhiroop Sarkar, Mary Sheeran

With the growing ubiquity of Internet of Things(IoT), more complex logic is being programmed on resource-constrained IoT devices, almost exclusively using the C programming language. While C provides low-level control ov…

Management

AbstractBeam: Enhancing Bottom-Up Program Synthesis using Library Learning

2024-05-27 · Janis Zenkner, Lukas Dierkes, Tobias Sesterhenn, Chrisitan Bartelt

LambdaBeam is a state-of-the-art, execution-guided algorithm for program synthesis that utilizes higher-order functions, lambda functions, and iterative loops within a Domain-Specific Language (DSL). LambdaBeam generates…

Program Synthesis