This paper investigates using a functional language with a sophisticated type system to implement data-intensive programs. We focus on how bulk data types can be represented rather than on the efficient implementation of those types. The paper is intended more as a discussion document, recording some thoughts on how to represent bulk data in a functional language, than as a conclusive statement on functional databases. It also serves as a reasonably complex and hopefully realistic example of how some of the new features of Haskell 1.3, including constructor classes, can be exploited to good effect. The limitations of these features are also assessed.
Author and article information
Division of Computer Science, University of St. Andrews
St. Andrews, Scotland, U.K.
Department of Computing Science, University of Glasgow
Glasgow, Scotland, U.K.