Learning functional programs with function invention and reuse

11/17/2020
by   Andrei Diaconu, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/26/2018

General-purpose Declarative Inductive Programming with Domain-Specific Background Knowledge for Data Wrangling Automation

Given one or two examples, humans are good at understanding how to solve...
research
02/02/2018

Zero-Cost Coercions for Program and Proof Reuse

We introduce the notion of identity coercions between non-indexed and in...
research
12/21/2021

Preprocessing in Inductive Logic Programming

Inductive logic programming is a type of machine learning in which logic...
research
03/21/2018

Generic Zero-Cost Reuse for Dependent Types

Dependently typed languages are well known for having a problem with cod...
research
05/16/2019

First-Class Subtypes

First class type equalities, in the form of generalized algebraic data t...
research
09/02/2021

A Novel Compaction Approach for SBST Test Programs

In-field test of processor-based devices is a must when considering safe...
research
02/19/2019

Composing bidirectional programs monadically (with appendices)

Software frequently converts data from one representation to another and...

Please sign up or login with your details

Forgot password? Click here to reset