A library for building re-usable and composable SQL queries.
Haskell Other
Clone or download
Latest commit 39a8bae Nov 13, 2017
Permalink
Failed to load latest commit information.
driver-dynamic Later cabal updates. Oct 12, 2012
driver-flat Later cabal updates. Oct 12, 2012
driver-hdbc-odbc Roll versions for updated MTL dependency. Oct 25, 2012
driver-hdbc-postgresql Roll versions for updated MTL dependency. Oct 25, 2012
driver-hdbc-sqlite3 Roll versions for updated MTL dependency. Oct 25, 2012
driver-hdbc Updates for GHC 7.10 compatibility. Aug 17, 2015
driver-hsql-mysql Later cabal updates. Oct 12, 2012
driver-hsql-odbc Later cabal updates. Oct 12, 2012
driver-hsql-oracle Later cabal updates. Oct 12, 2012
driver-hsql-postgresql Later cabal updates. Oct 12, 2012
driver-hsql-sqlite Later cabal updates. Oct 12, 2012
driver-hsql-sqlite3 Later cabal updates. Oct 12, 2012
driver-hsql Later cabal updates. Oct 12, 2012
driver-wx Later cabal updates. Oct 12, 2012
examples Normalizing Line Endings Sep 10, 2012
src/Database GHC 8.0 compatibility Nov 13, 2017
test Testing & Documentation Update Feb 4, 2015
.gitattributes Normalizing Line Endings Sep 10, 2012
.gitignore Cabal Updates Oct 12, 2012
ANNOUNCE Updated for 0.9 release. Aug 19, 2004
AUTHORS Added Jeremy Shaw as a contributor Mar 6, 2004
BUGS Added url to bug tracker. Aug 19, 2004
ChangeLog Bug fixes and expanded query capabilities Apr 9, 2009
FIXED Added dbinfo upper case identifier bug to FIXED. Fixed a typo. May 1, 2004
HaskellDB-JH.tex Updated HCAR entry. Nov 9, 2010
INSTALL Noted Cabal version requirement in INSTALL. Dec 22, 2005
LICENSE set copygiht holder to "The HaskellDB development team" Jan 31, 2004
Makefile Fixed haddock uilding to find modules in driver- dirs. Jul 19, 2006
NEWS Updated for 0.9 release. Aug 19, 2004
README Fix grammar in README Jun 23, 2014
Setup.hs Initial revision Nov 8, 2003
TODO should support like etc. on nullable arguments May 22, 2004
haskelldb.cabal 2.2.4 release Sep 29, 2014
haskelldb.pdf Added haskelldb papers to repo Nov 16, 2010
leijen.pdf Added haskelldb papers to repo Nov 16, 2010
set-version set-version now changes src/Database/HaskellDB/Version.hs Jul 18, 2006
unregister-all Added unregister-all. Jul 19, 2006

README

For installation instructions, see the INSTALL file.


HaskellDB is a Haskell library for expressing database queries and
operations in a type safe and declarative way. HaskellDB compiles a
relational algebra-like syntax into SQL, submits the operations to the
database for processing, and returns the results as ordinary Haskell
values.

HaskellDB is written entirely in Haskell and works under both the
Glasgow Haskell Compiler (GHC) and the Hugs Haskell interpreter. The
library is designed to to support multiple database backends.

Currently supported database backends are:
* HSQL (http://htoolkit.sourceforge.net/). HSQL's bindings to ODBC, MySQL,
  PostgreSQL and SQLite are currently supported.
* wxHaskell (http://wxhaskell.sourceforge.net/)

HaskellDB is intended to be platform independent. It should be
possible to use HaskellDB on any platform that has a supported Haskell
implementation and that is supported by the database backend.

HaskellDB was originally written by Daan Leijen and its design is
described in the paper Domain Specific Embedded Compilers, Daan Leijen
and Erik Meijer. 2nd USENIX Conference on Domain-Specific Languages
(DSL), Austin, USA, October 1999. That version of HaskellDB was
published in 1999 and has been available from
http://www.haskell.org/haskellDB/ since then.

The original version implements the entire HaskellDB combinator
library, but has some practical drawbacks. It requires certain
extensions (most notably the typed records extensions) which, in the
form that are used by HaskellDB, are only available in antiquated
versions of the Hugs interpreter. Furthermore, the original HaskellDB
only supports a Windows-specific ADO-based database backend.

The new version of HaskellDB was produced as a student project at
Chalmers University of Technology in Gothenburg, Sweden. The aim of the
project was to make HaskellDB a practically useful database library.