Installation with Cabal: NOTE: you may need to upgrade Cabal to get this to work. - Install the main package (haskelldb): runghc Setup.hs configure runghc Setup.hs build runghc Setup.hs install - Install the hs-plugins backend which loads drivers dynamically (requires at least the current, as of 2005-12-09, darcs version of hs-plugins). This also compiles and installs DBDirect. cd driver-dynamic runghc Setup.hs configure runghc Setup.hs build runghc Setup.hs install cd .. - Install HSQL drivers (you need driver-hsql and the backends you want to use): cd driver-hsql runghc Setup.hs configure runghc Setup.hs build runghc Setup.hs install cd .. cd driver-hsql-mysql runghc Setup.hs configure runghc Setup.hs build runghc Setup.hs install cd .. cd driver-hsql-postgresql runghc Setup.hs configure runghc Setup.hs build runghc Setup.hs install cd .. cd driver-hsql-odbc runghc Setup.hs configure runghc Setup.hs build runghc Setup.hs install cd .. cd driver-hsql-sqlite runghc Setup.hs configure runghc Setup.hs build runghc Setup.hs install cd .. - Install the WXHaskell driver: cd driver-wx runghc Setup.hs configure runghc Setup.hs build runghc Setup.hs install cd .. Requirements: - GHC 6.4 or newer - A recent verion of Cabal (newer than that which comes with GHC 6.4[.1], I'm not sure about the exact version requirement). - Hugs ??? HaskellDB used to work with Hugs, does it still? A database driver, at least one of: - HSQL (http://htoolkit.sourceforge.net/), version 1.7 or later. Use Cabal to install the HSQL backends that you want to use. * Extra requirements for Windows - Cygwin (found at www.cygwin.com) Except the default packages you will also need Make and GCC - Microsoft Data Access Components (MDAC) SDK (found at http://www.msdn.com/download) - wxHaskell (http://wxhaskell.sourceforge.net/) wxHaskell's database support requires wxWidgets built with ODBC support, which is not enabled by default. Database support: - HSQL ODBC HaskellDB should work with all ODBC drivers, assuming that the database supports the queries generated by HaskellDB. This does for exaemple currently not include the stable version of MySQL, see below. - HSQL MySQL HaskellDB only works with MySQL version >= 4.1 since earlier versions don't support nested subqueries. It is currently not possible to build HSQL's MySQL support under Windows. If you figure it out, let us know. MySQL only supports transactions on transaction-safe table types, such as InnoDB and BDB. The default table type, MyISAM, does not support transactions. See the MySQL manual for more information. MySQL 4.1 does not support intersect. - HSQL PostgreSQL Works. - HSQL SQLite Works, but since SQLite is untyped, DBDirect reports the types of all columns in SQLite databases as String, even if some other type was used when the table was created. To work around this, create the database description modules using Database.HaskellDB.DBSpec.DBSpecToDBDirect.dbInfoToModuleFiles There are some problems with escaping of certain characters (whitspace and backslash) for SQLite, sicne SQLite does not expect them to be escaped. - wxHaskell Works only with GHC. Does not work with MySQL as far as we know.