What are the tradeoffs between the Haskell SQLite packages? What are the tradeoffs between the Haskell SQLite packages? sqlite sqlite

What are the tradeoffs between the Haskell SQLite packages?


I looked at the package mentioned. Some of these package are a dependency of another package (like opaleye-sqlite and sqlite-simple) depend on direct-sqlite.

Therefor lets first look at the package that provide the actual driver. Most of them are outdated. There seem to be 3 that still have recent updates:

That leaves us with the following package that provide extra functionality based on direct-sqlite. This list includes more levels of reverse lookup to see which other package make use of the package listed below.


I've had very good experiences with the ...-simple family of libraries. They are very full-featured and sit at a nice medium level of abstraction where you get a large amount of flexibility over how you intereact with the database.

I'm the author of opaleye-sqlite. It is a somewhat experimental version of Opaleye for SQLite. The Postgres version of Opaleye is very solid and used in production in several places, but I only know of one person who has used opaleye-sqlite in production.