beam VS esqueleto

Compare beam vs esqueleto and see what are their differences.

beam

A type-safe, non-TH Haskell SQL library and ORM (by haskell-beam)

esqueleto

Bare bones, type-safe EDSL for SQL queries on persistent backends. (by prowdsponsor)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • SaaSHub - Software Alternatives and Reviews
beam esqueleto
4 3
534 176
0.6% 0.0%
0.8 0.0
10 days ago about 6 years ago
Haskell Haskell
MIT License BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

beam

Posts with mentions or reviews of beam. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-05.

esqueleto

Posts with mentions or reviews of esqueleto. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-29.
  • What databases do you find the most productive to connect to Haskell?
    3 projects | reddit.com/r/haskell | 29 Dec 2022
    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
    14 projects | news.ycombinator.com | 3 Feb 2022
    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?

When comparing beam and esqueleto you can also consider the following projects:

opaleye

squeal-postgresql - Squeal, a deep embedding of SQL in Haskell

mywatch

yxdb-utils - Utilities for parsing Alteryx Database format

hocilib - A lightweight Haskell binding to the OCILIB C API

DSH - Database-Supported Haskell

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

positron - Experiment

influxdb - InfluxDB client library for Haskell

beam-newtype-field - A newtype for wrapping newtypes into beam schemas