Haskell Database Connectivity 2.0.0

Provides an abstraction layer between Haskell programs and SQL relational databases.
Haskell Database Connectivity project provides an abstraction layer between Haskell programs and SQL relational databases. This lets you write database code once, in Haskell, and have it work with any number of backend SQL databases (MySQL, Oracle, PostgreSQL, ODBC-compliant databases, etc.)

HDBC is modeled loosely on Perl's DBI interface http://search.cpan.org/~timb/DBI/DBI.pm, though it has also been influenced by Python's DB-API v2, JDBC in Java, and HSQL in Haskell.

HDBC is a from-scratch effort. It is not a reimplementation of HSQL, though its purpose is the same.

Main features:

  • Ability to use replacable parameters to let one query be executed multiple times (eliminates the need for an escape function)
  • Ability to access returned rows by column number
  • Ability to read data from the SQL server on-demand rather than reading the entire result set up front
  • HUnit testsuite for each backend driver
  • Well-defined standard API and easy backend driver implementation
  • Lazy reading of the entire result set (think hGetContents, but for the results of SELECT) (see sFetchAllRows)
  • Support for translation between Haskell and SQL types
  • Support for querying database server properties
  • Add-on package (hdbc-missingh) to integrate with MissingH, providing a database backend for AnyDBM.
  • Support for querying metadata such as column names.
  • Support for querying additional metadata (column types, etc.)

last updated on:
January 30th, 2009, 22:12 GMT
license type:
GPL (GNU General Public License) 
developed by:
John Goerzen
ROOT \ Database \ Database APIs
Haskell Database Connectivity
Download Button

In a hurry? Add it to your Download Basket!

user rating 9



Rate it!
What's New in This Release:
  • This release adds support for Unicode, GHC 6.10, new exceptions, and Data.Time.
  • It includes type marshalling, a convertible typeclass for fromSql/toSql, and a new test suite.
read full changelog

Add your review!