esqueleto VS opaleye

Compare esqueleto vs opaleye and see what are their differences.


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
  • Scout APM - Truly a developer’s best friend
  • - Download’s Tech Salary Report
esqueleto opaleye
2 7
177 565
0.0% -
0.0 9.4
almost 6 years ago 2 days ago
Haskell Haskell
BSD 3-clause "New" or "Revised" 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.


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-02-03.


Posts with mentions or reviews of opaleye. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-04-21.
  • What are things that the Haskell scene lacks the most?
    4 projects | | 21 Apr 2022
  • Out of memory when building product-profunctors
    2 projects | | 13 Mar 2022
    Nice! Well done. If you have any more questions about product-profunctors or Opaleye then please let me know. It's best to ask by [opening an issue](
  • Against SQL
    8 projects | | 10 Jul 2021
    The only way out that I can see is to design embedded domain specific languages (EDSLs) that inherit the expressiveness, composability and type safety from the host language. That's what Opaleye and Rel8 (Postgres EDSLs for Haskell do. Haskell is particularly good for this. The query language can be just a monad and therefore users can carry all of their knowledge of monadic programming to writing database queries.

    This approach doesn't resolve all of the author's complaints but it does solve many.

    Disclaimer: I'm the author of Opaleye. Rel8 is built on Opaleye. Other relational query EDSLs are available.


What are some alternatives?

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

database-migrate - database-migrate haskell library to assist with migration for *-simple sql backends.


HDBC - Haskell Database Connectivity

HongoDB - A Simple Key Value Store

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

rel8 - Hey! Hey! Can u rel8?

groundhog - This library maps datatypes to a relational model, in a way similar to what ORM libraries do in OOP. See the tutorial for introduction

yxdb-utils - Utilities for parsing Alteryx Database format

hocilib - A lightweight Haskell binding to the OCILIB C API


beam - A type-safe, non-TH Haskell SQL library and ORM