A Functional Programming Approach to Deductive Databases

Alexandra Poulovassilis, Carol Small · 1991

We introduce a persistent functional language called PFL which adapts functional programming to the area of deductive databases, much as logic-based deductive database languages adapt logic program-ming. PFL inherits the advantages of functional pro-gramming languages, including higher-order func-tions, static type checking, lazy evaluation, and sup-port for user-defined types and constants. However, PFL allows functions to be defined incrementally by the insertion and deletion of equations, and stores these equations in the database. PFL also supports a class of extensionally defined updateable functions called selectors which allow the storage of arbitrarily nested values. Further functions can be written over selectors which act as derivation rules and which are “invertible ” in the sense that they simulate predi-cates. We begin the paper by motivating the development of PFL. We review the respective advantages of functional and logic programming, particularly with respect to database modelling and manipulation, and we compare PFL with other func-tional database languages. We describe the salient features of the language and examine its expressive-ness with respect to data modelling, computation and updates. We also describe the implementation of PFL concentrating in particular on the storage and retrieval of its persistent data. I.

Read the paper · More papers on PaperTik