Home
Welcome to HDBC, Haskell Database Connectivity
Welcome to HDBC, Haskell Database Connectivity.
HDBC 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, 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.
HDBC has many features.
HDBC is written by John Goerzen. It is licensed under the LGPL. If you like it, you can send a few dollars my way via my tip jar, though that is certainly optional and doesn’t buy you anything.
Starting Points
- HDBC API Documentation starts here; the full reference is at the HDBC Hackage page
- Known HDBC Database Backend Drivers
- Programs that use HDBC — many with useful example code
- Frequently Asked Questions (FAQs) about HDBC
- Migrating from HDBC 1.0 to HDBC 1.1
- What’s New in HDBC 2.0 – includes info on migrating from 1.1.6
Downloads: Source and Binaries
- Source downloads are available from the HDBC Hackage page
- The latest development trees are available via the Github project page
- You can find Debian packages from the HDBC Debian Page
- RPMs and packages for many other Linux and BSD distributions are also included with your distribution.
Contributing to HDBC
You can always download the source from the Downloads page and attach diffs. But it’s far better, both for you and for me, if you use Git.
Mailing List
I encourage the use of the haskell-cafe mailing list for questions and discussions about HDBC. Gmane has made available excellent archives of this list as well.
