Text size
  • Small
  • Medium
  • Large
  • Standard
  • Blue text on blue
  • High contrast (Yellow text on black)
  • Blue text on beige

    Database States in Lazy Functional Programming Languages: Imperative Update and Lazy Retrieval

    Database Programming Languages

    Italy. 6th - 8th September 1995


    Y. Ichikawa


    This paper proposes a database manipulation interface for the statically typed, purely functional programming language Haskell.

    The data model uses surrogates to permit direct update of stored objects, and the basic interface is designed based on the state-transformer approach, so that the interface is referentially transparent.

    This approach requires all the operations to be executed in a single state-transition sequence and thus tends to make queries more imperative than expected.

    The proposed approach lessens this burden on query construction, by using versioning.

    Versions can be "frozen" or locked, and a set of locked versions can be supplied as an argument to query operations.

    This intraprogram versioning permits on-the-fly dereference during query construction, and allows for straightforward implementation of lazy retrieval in strict state-transition sequences.


    PDF filePDF Version of this Paper (148kb)