FDL extends the functional data model to computational completeness while also supporting the persistence of any function, whether extensionally or intentionally defined. FDL improves on previous implementations of a functional data model as follows : We discuss these and other features of FDL in Sections 3 and 4 of the paper. In Section 2 we give a brief introduction to functional programming, which forms the theoretical basis of FDL.