Research Summary on Implementing Functional Patterns by Synthesizing Inverse Functions

09/22/2020
by   Finn Teegen, et al.
0

In this research summary we present our recent work on implementing functional patterns with inverse functions in the lazy functional-logic programming language Curry. Our goal is the synthesis of the inverse of any given function in Curry itself. The setting of a functional-logic language especially allows the inversion of non-injective functions. In general, inverse computation is a non-trivial problem in lazy programming languages due to their non-strict semantics. We are so far able to directly derive the inverse function for a limited class of functions, namely those consisting of rules that do not involve both extra variables and non-linear right-hand sides. Because the synthesized definitions are based on standard code, known optimizations techniques can be applied to them. For all other functions we can still provide an inverse function by using non-strict unification.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/17/2019

Implementing a Library for Probabilistic Programming using Non-strict Non-determinism

This paper presents PFLP, a library for probabilistic programming in the...
research
08/22/2018

Synthesizing Set Functions

Set functions are a feature of functional logic programming to encapsula...
research
03/09/2018

Clocked Definitions in HOL

Many potentially non-terminating functions cannot be directly defined in...
research
06/02/2020

Effectful Programming in Declarative Languages with an Emphasis on Non-Determinism: Applications and Formal Reasoning

This thesis investigates effectful declarative programming with an empha...
research
08/28/2019

Adding Data to Curry

Functional logic languages can solve equations over user-defined data an...
research
08/16/2022

Osband's Principle for Identification Functions

Given a statistical functional of interest such as the mean or median, a...
research
02/14/2020

Functional Programming in Pattern-Match-Oriented Programming Style

Throughout the history of functional programming, recursion has emerged ...

Please sign up or login with your details

Forgot password? Click here to reset