
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_minimalisti...