from
The Free On-line Dictionary of Computing (8 July 2008)
Persistent Functional Language
<functional language, database> (PFL) A {functional database}
language 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 is
stored 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 allows
new user-defined data types and values. All functions, types
and values persist in a {database}. Functions can be written
which update all aspects of the database: by adding data to
selectors, by defining new equations, and by introducing new
data types and values.
PFL is "semi-{referentially transparent}", in the sense that
whilst updates are referentially opaque and are executed
{destructive}ly, all evaluation is referentially transparent.
Similarly, {type checking} is "semi-static" in the sense that
whilst updates are dynamically type checked at run time,
expressions are type checked before they are evaluated and no
type errors can occur during their evaluation.
["A Functional Approach to Database Updates
(http://web.dcs.bbk.ac.uk/CS/Research/DBPL/papers/INFSYS93.abs.html)",
C. Small, Information Systems 18(8), 1993, pp. 581-95].
(1995-04-27)