hasql
esqueleto
Our great sponsors
hasql | esqueleto | |
---|---|---|
1 | 3 | |
479 | 176 | |
- | 0.0% | |
6.8 | 0.0 | |
7 days ago | about 6 years ago | |
Haskell | Haskell | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hasql
-
[ANN] hasql-listen-notify: LISTEN/NOTIFY support for hasql
The API comes free from all kinds of exceptions. All error-reporting is explicit and is presented using the Either type.
esqueleto
-
What databases do you find the most productive to connect to Haskell?
Postgresql-simple is a great library, it makes a nice use of overloaded strings to do the job. Some other nice libraries to keep an eye on are opaleye (postgres specific, which is equally nice but could be a bit difficult to get why the types are so big) and a combination of persistent (not DB specific! can work on postgres, sqlite, but also noSQL DBs like mongo, it's still easy to learn but you lose some things, such as joins due to the power of being agnostic) + esqueleto for type safe joins (be sure to look up the experimental package, it's a more comfortable syntax that will soon become the default one).
-
Go performance from version 1.2 to 1.18
In Haskell: https://hackage.haskell.org/package/esqueleto
Either it analyzes the given SQL to determine the in/out types of each SQL query, or it calls the database describe feature at compile-time.
What are some alternatives?
opaleye
yxdb-utils - Utilities for parsing Alteryx Database format
mywatch
groundhog - This library maps datatypes to a relational model, in a way similar to what ORM libraries do in OOP. See the tutorial https://www.schoolofhaskell.com/user/lykahb/groundhog for introduction
hocilib - A lightweight Haskell binding to the OCILIB C API
hasql-th - Template Haskell utilities for Hasql
direct-sqlite
squeal-postgresql - Squeal, a deep embedding of SQL in Haskell
beam - A type-safe, non-TH Haskell SQL library and ORM
mysql-simple - A mid-level client library for the MySQL database, intended to be fast and easy to use.