On Wed, Apr 4, 2012 at 7:59 PM, MightyByte <[email protected]> wrote: > pranjal pandit <pranjal5215 <at> gmail.com> writes: > >> >> >> Hi,I would like to work on improving the HDBC as a GSOC project 2012. I have >> a previous working experience with Django and its ORM and I had a look at >> Amnesia (http://amnesia.sourceforge.net/user_manual/manual.html) which is a >> SQL database interface for Erlang. >> >> Few of the features of both include: >> 1 ) Database operation are supported through Language Native types. >> 2 ) Direct table creation from native language constructs. > > Hi Pranjal, > > Here are some things to consider when writing your proposal. > > Haskell RDBMS libraries exist on two different broad levels of abstraction. > There are low-level libraries that provide the ability to write raw SQL > queries > and retrieve the results, and there are high-level libraries that do more > sophisticated things. These high-level libraries are more of what you're > probably thinking about when you think ORM. HDBC and others like > mysql-simple, > postgresql-simple, etc are in the low-level category. The high-level category > has libraries like haskelldb, persistent, and groundhog. > > In some cases the high-level libraries are written using a low-level library > as > the back-end. Haskelldb is a good example of this because it uses HDBC for > its > low-level access. HDBC provides a uniform interface for working with MySQL, > PostgreSQL, and SQLite so by using HDBC, haskelldb works with all these > databases for free. However, some high-level libraries like persistent don't > use a separate low-level library and instead opt to maintain their own code > for > interfacing directly with the database.
This isn't exactly true. persistent-sqlite has its own low-level layer based on direct-sqlite[1], but the other three backends each use an existing low-level library (postgresql-simple, mysql-simple, and mongoDB). Michael [1] http://hackage.haskell.org/package/direct-sqlite _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
