arXiv · cs/0602099
Towards Applicative Relational Programming
Abstract
Functional programming comes in two flavours: one where ``functions are first-class citizens'' (we call this applicative) and one which is based on equations (we call this declarative). In relational programming clauses play the role of equations. Hence Prolog is declarative. The purpose of this paper is to provide in relational programming a mathematical basis for the relational analog of applicative functional programming. We use the cylindric semantics of first-order logic due to Tarski and provide a new notation for the required cylinders that we call tables. We define the Table/Relation Algebra with operators sufficient to translate Horn clauses into algebraic form. We establish basic mathematical properties of these operators. We show how relations can be first-class citizens, and devise mechanisms for modularity, for local scoping of predicates, and for exporting/importing relations between programs.
Explore related subjects
Keep this discovery
H. Ibrahim, M. H. van Emden. 2006-02-28. Towards Applicative Relational Programming. https://arxiv.org/abs/cs/0602099
Cite the original work for its findings. Save a collection to share your selection of sources.