Implementing Equational Constraints in a Functional Language
Bernd Bra{\ss}el, Michael Hanus, Bj\"orn Peem\"oller, Fabian Reck

TL;DR
This paper presents techniques for implementing equational constraints in a functional logic programming system, enhancing efficiency in solving constraints without compromising the core implementation.
Contribution
It introduces novel methods to incorporate equational constraints, unification modulo function evaluation, and functional patterns into the KiCS2 system.
Findings
Efficient implementation of equational constraints in KiCS2.
Unification modulo function evaluation integrated without performance loss.
Enhanced support for functional patterns in constraint solving.
Abstract
KiCS2 is a new system to compile functional logic programs of the source language Curry into purely functional Haskell programs. The implementation is based on the idea to represent the search space as a data structure and logic variables as operations that generate their values. This has the advantage that one can apply various, and in particular, complete search strategies to compute solutions. However, the generation of all values for logic variables might be inefficient for applications that exploit constraints on partially known values. To overcome this drawback, we propose new techniques to implement equational constraints in this framework. In particular, we show how unification modulo function evaluation and functional patterns can be added without sacrificing the efficiency of the kernel implementation.
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
TopicsLogic, programming, and type systems · Formal Methods in Verification · Parallel Computing and Optimization Techniques
