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

Reply via email to