Persistent Functional Language

Persistent Functional Language

(functional language, database)(PFL) A functional databaselanguage developed by Carol Small at Birkbeck College, London,UK and Alexandra Poulovassilis (now at King's College London).

In PFL, functions are defined equationally and bulk data isstored using a special class of functions called selectors.PFL is a lazy language, supports higher-order functions,has a strong polymorphic type inference system, and allowsnew user-defined data types and values. All functions, typesand values persist in a database. Functions can be writtenwhich update all aspects of the database: by adding data toselectors, by defining new equations, and by introducing newdata types and values.

PFL is "semi-referentially transparent", in the sense thatwhilst updates are referentially opaque and are executeddestructively, all evaluation is referentially transparent.Similarly, type checking is "semi-static" in the sense thatwhilst updates are dynamically type checked at run time,expressions are type checked before they are evaluated and notype errors can occur during their evaluation.

["A Functional Approach to Database Updates",C. Small, Information Systems 18(8), 1993, pp. 581-95].