Learning functional programs with function invention and reuse
Andrei Diaconu

TL;DR
This paper advances inductive functional programming by introducing algorithms for generating modular programs with function reuse, demonstrating that reuse significantly reduces program size and benefits various problem types.
Contribution
It presents two new algorithms for modular program synthesis with type-based pruning, highlighting the importance of function reuse in inductive functional programming.
Findings
Function reuse reduces program size across multiple problems.
Type-based pruning improves the efficiency of program synthesis.
Reusing functions benefits two broad classes of programs.
Abstract
Inductive programming (IP) is a field whose main goal is synthesising programs that respect a set of examples, given some form of background knowledge. This paper is concerned with a subfield of IP, inductive functional programming (IFP). We explore the idea of generating modular functional programs, and how those allow for function reuse, with the aim to reduce the size of the programs. We introduce two algorithms that attempt to solve the problem and explore type based pruning techniques in the context of modular programs. By experimenting with the implementation of one of those algorithms, we show reuse is important (if not crucial) for a variety of problems and distinguished two broad classes of programs that will generally benefit from function reuse.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Logic, programming, and type systems · Logic, Reasoning, and Knowledge
MethodsPruning
