Database interface

Tom Pledger Tom.Pledger@peace.com
Wed, 13 Aug 2003 14:02:54 +1200


Thomas L. Bevan writes:
 | Does anyone know if there is work being done on a standard Haskell
 | database interface.

I suspect that there isn't.  The pattern seems to be that someone gets
an interface working well enough for some purposes, and perhaps shares
it, but is too modest and/or busy to put it forward as a standard.

For a row extraction mechanism, I'd vote for passing an extraction
function (or IO action) to the main query function, like Tim Docker
described last month.

    http://haskell.cs.yale.edu/pipermail/haskell-cafe/2003-July/004684.html

This is a pretty good way to stop those nasty vague SQL row types at
the Haskell border and turn them into something respectable.  Perhaps
it would even be worth constraining the extracted type to be in
DeepSeq

    doquery :: (DeepSeq v) =>
               Process -> String -> IO v -> IO [v]

so that the interface clearly may confine its attention to one row at
a time per cursor.

- Tom