ANNOUNCE: Hasql: A minimalistic general high level API for relational databases

Nikita Volkov nikita.y.volkov at mail.ru
Tue Oct 28 15:02:59 UTC 2014


This library takes a mission of upgrading the experience of dealing with
relational databases in Haskell. It’s robust, it’s API is very concise, yet
it’s packed with powerful features like the following:

   -

   An abstraction over transactions, which provides an automated resolution
   of conflicts. The API ensures that you’re only able to perform a specific
   set of actions in the transaction context, which allows Hasql to safely
   resolve conflicting transactions by automatically retrying them. This is
   much inspired by STM and ST.
    -

   Support for cursors. Allows to fetch virtually limitless result sets in
   a constant memory using streaming.
    -

   Employment of prepared statements. Every statement you emit gets
   prepared and cached. This raises the performance of the backend.
    -

   Automated management of resources related to connections, transactions
   and cursors.
    -

   A built-in connections pool.
    -

   Type-level generation of templates. You just can’t write a statement
   with an incorrect number of placeholders.
    -

   Mapping to any types actually supported by the backend.

For a basic tutorial and a demonstration please visit the following link:
https://github.com/nikita-volkov/hasql/blob/master/demo/Main.hs

Also please join the main discussion thread accompanying the release:
http://www.reddit.com/r/haskell/comments/2kkhgo/announce_hasql_a_minimalistic_general_high_level/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20141028/cb4b6673/attachment.html>


More information about the Libraries mailing list