Finite Functional Programming

πŸ“… 2026-04-28
πŸ“ˆ Citations: 0
✨ Influential: 0
πŸ“„ PDF

career value

171K/year
πŸ€– AI Summary
This work proposes a novel programming paradigm that unifies functional and logic programming to support aggregation and weighted logical reasoning. The core idea models predicates as functions with finite support, represented via input–output tables. By integrating higher-order functions, a graded effect system, and relevance types, the approach guarantees variable grounding and computational finiteness. This framework naturally generalizes logic languages such as Datalog, enabling uniform treatment of both Boolean and non-Boolean logic programs. Furthermore, it provides a concise type system that effectively verifies the finite-support property, thereby establishing a formal foundation for weighted and aggregate reasoning.
πŸ“ Abstract
We unify functional and logic programming by treating predicatesas functions equipped with their support: the set of inputs whose output is nonzero. Datalog, for instance, is a language of finitely supported boolean functions. Finite support allows representing functions as input-output tables. Generalizing from boolean functions to other pointed sets neatly handles aggregation and weighted logic programming. We refer to the combination of finitely supported functions, represented as data, with higher order functions, represented as code, as finite functional programming. We give a simple type system to check finite support, using graded effects to check variable grounding and relevance types to model pointed sets.
Problem

Research questions and friction points this paper is trying to address.

functional programming
logic programming
finite support
Datalog
pointed sets
Innovation

Methods, ideas, or system contributions that make the work stand out.

finite support
functional logic programming
pointed sets
graded effects
relevance types
πŸ”Ž Similar Papers