Synthesizing Set Functions

by Sergio Antoy, Michael Hanus, Finn Teegen

Pre-Proceedings of the 26th International Workshop on Functional and Logic Programming (WFLP 2018), CoRR, 2018

Set functions are a feature of functional logic programming to encapsulate all results of a non-deterministic computation in a single data structure. Given a function f of a functional logic program written in Curry, we describe a technique to synthesize the definition of the set function of f. The definition produced by our technique is based on standard Curry constructs. Our approach is interesting for three reasons. It allows reasoning about set functions, it offers an implementation of set functions which can be added to any Curry system, and it has the potential of changing our thinking about the implementation of non-determinism, a notoriously difficult problem.

Preprint (PDF) BibTeX-Entry Online