Personal tools

Applications and libraries/Database interfaces

From HaskellWiki

< Applications and libraries(Difference between revisions)
Jump to: navigation, search
m (Updated the link for HDBC)
(Updated project status)
Line 1: Line 1:
 
== Libraries ==
 
== Libraries ==
   
;[http://sourceforge.net/forum/forum.php?forum_id=350240 HSQL]
+
=== Current ===
:HSQL is a simple library which provides an interface to multiple databases. MySQL, PostgreSQL, ODBC, SQLite and Oracle are currently supported. It is part of [http://htoolkit.sourceforge.net/ HToolkit].
 
 
 
;[http://darcs.haskell.org/takusen Takusen]
 
;[http://darcs.haskell.org/takusen Takusen]
:A library to interface to Oracle, Sqlite, and Postgres, with an API based on a left-fold enumerator. Now hosted at [http://darcs.haskell.org/takusen darcs.haskell.org].
+
:A library to interface to Oracle, Sqlite, and Postgres, with an API based on a left-fold enumerator. Now hosted at [http://darcs.haskell.org/takusen darcs.haskell.org]. (''Last updated: 2008'')
   
  +
  +
;[http://software.complete.org/hdbc HDBC]
  +
: 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. Supports SQLite3, PostgreSQL, ODBC. (''Last updated: 2008'')
  +
  +
  +
=== Non-current ===
 
;[[/HaskellDB/]]
 
;[[/HaskellDB/]]
:Daan Leijen's [http://www.haskell.org/haskellDB original] HaskellDB, and an [http://haskelldb.sourceforge.net/ updated] version that works with current Haskell implementations and is relatively platform-independent. HaskellDB is a combinator library for expressing queries and other operations on relational databases in a type safe and declarative way. All the queries and operations are completely expressed within Haskell, no embedded (SQL) commands are needed. This close integration makes it possible to do arbitrary computations on the database (like computing the transitive closure).
+
:Daan Leijen's [http://www.haskell.org/haskellDB original] HaskellDB, and an [http://haskelldb.sourceforge.net/ updated] version that works with current Haskell implementations and is relatively platform-independent. HaskellDB is a combinator library for expressing queries and other operations on relational databases in a type safe and declarative way. All the queries and operations are completely expressed within Haskell, no embedded (SQL) commands are needed. This close integration makes it possible to do arbitrary computations on the database (like computing the transitive closure). (''Last updated: 2007''. Doesn't build with GHC 6.8)
   
;[http://wiki.di.uminho.pt/twiki/bin/view/Research/PURe/CoddFish CoddFish]
+
=== Discontinued ===
:[[/CoddFish|See a separate Haskell Wiki page on it]]. It is another type safe and declarative approach to database managament in Haskell.
 
   
;[http://software.complete.org/hdbc HDBC]
+
;[http://sourceforge.net/forum/forum.php?forum_id=350240 HSQL]
: 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.
+
:HSQL is a simple library which provides an interface to multiple databases. MySQL, PostgreSQL, ODBC, SQLite and Oracle are currently supported. It is part of [http://htoolkit.sourceforge.net/ HToolkit]. (''Last updated: 2005'')
   
;[http://members.tripod.com/~sproot/hasql.htm HaSQL]
 
:HaSQL is a Haskell to ODBC interface. HaSQL allows Haskell program to run SQL queries against an ODBC compliant database. Queries with parameters are supported. Data is retrieved from the database as a lazy list.
 
   
;[http://www.astercity.net/~khaliff/haskell/dbi/dbi.tgz libpq binding]
+
;[http://wiki.di.uminho.pt/twiki/bin/view/Research/PURe/CoddFish CoddFish]
:A Haskell binding to libpq, a client-side PostgreSQL programming library, together with a simple DBI for Haskell. It enables the programmer to write database-independent code.
+
:PURe [[/CoddFish|See a separate Haskell Wiki page on it]]. It is another type safe and declarative approach to database managament in Haskell. (''Development discontinued in 2006'')
  +
   
 
;[http://wiki.di.uminho.pt/twiki/bin/view/Research/PURe/VooDooM VooDooM]
 
;[http://wiki.di.uminho.pt/twiki/bin/view/Research/PURe/VooDooM VooDooM]
:VooDooM reads VDM-SL specifications and applies transformation rules to the datatypes that are defined in them to obtain a relational representation for these datatypes. The relational representation can be exported as VDM-SL datatypes (inserted back into the original specification) or SQL table definitions (which can be fed to a relational DBMS)
+
:PURe VooDooM reads VDM-SL specifications and applies transformation rules to the datatypes that are defined in them to obtain a relational representation for these datatypes. The relational representation can be exported as VDM-SL datatypes (inserted back into the original specification) or SQL table definitions (which can be fed to a relational DBMS). (''Development discontinued in 2006'')
  +
  +
  +
;[http://members.tripod.com/~sproot/hasql.htm HaSQL]
  +
:HaSQL is a Haskell to ODBC interface. HaSQL allows Haskell program to run SQL queries against an ODBC compliant database. Queries with parameters are supported. Data is retrieved from the database as a lazy list. (''Development dicontinued.'')
   
 
;[http://www.volker-wysk.de/mysql-hs/ MySQL-HS]
 
;[http://www.volker-wysk.de/mysql-hs/ MySQL-HS]

Revision as of 00:46, 15 July 2008

Contents

1 Libraries

1.1 Current

Takusen
A library to interface to Oracle, Sqlite, and Postgres, with an API based on a left-fold enumerator. Now hosted at darcs.haskell.org. (Last updated: 2008)


HDBC
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. Supports SQLite3, PostgreSQL, ODBC. (Last updated: 2008)


1.2 Non-current

HaskellDB
Daan Leijen's original HaskellDB, and an updated version that works with current Haskell implementations and is relatively platform-independent. HaskellDB is a combinator library for expressing queries and other operations on relational databases in a type safe and declarative way. All the queries and operations are completely expressed within Haskell, no embedded (SQL) commands are needed. This close integration makes it possible to do arbitrary computations on the database (like computing the transitive closure). (Last updated: 2007. Doesn't build with GHC 6.8)

1.3 Discontinued

HSQL
HSQL is a simple library which provides an interface to multiple databases. MySQL, PostgreSQL, ODBC, SQLite and Oracle are currently supported. It is part of HToolkit. (Last updated: 2005)


CoddFish
PURe See a separate Haskell Wiki page on it. It is another type safe and declarative approach to database managament in Haskell. (Development discontinued in 2006)


VooDooM
PURe VooDooM reads VDM-SL specifications and applies transformation rules to the datatypes that are defined in them to obtain a relational representation for these datatypes. The relational representation can be exported as VDM-SL datatypes (inserted back into the original specification) or SQL table definitions (which can be fed to a relational DBMS). (Development discontinued in 2006)


HaSQL
HaSQL is a Haskell to ODBC interface. HaSQL allows Haskell program to run SQL queries against an ODBC compliant database. Queries with parameters are supported. Data is retrieved from the database as a lazy list. (Development dicontinued.)
MySQL-HS
MySQL-HS is an interface to the MySQL database.
Note: Development was discontinued on 2004-09-21.

2 Hackage

3 Related concepts

Relational algebra

This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Libraries and tools.