rel8
squealgen
rel8 | squealgen | |
---|---|---|
5 | 3 | |
147 | 25 | |
1.4% | - | |
7.5 | 0.0 | |
29 days ago | almost 3 years ago | |
Haskell | Haskell | |
GNU General Public License v3.0 or later | 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.
rel8
-
Choosing the right abstraction level for SQLite library.
I also mention https://github.com/circuithub/rel8 on posts like these since I think it should be more well-known.
-
What's your favorite Database EDSL/library in Haskell?
I'm sensing a trend here, but .... https://rel8.readthedocs.io/ because I wrote it ':D
-
[ANN] Generic-Persistence 0.3.0 released
Does this work with https://github.com/circuithub/rel8?
- Against SQL
- [video] Ollie Charles: Rel8, a new database access library for Haskell
squealgen
-
What's your favorite Database EDSL/library in Haskell?
https://github.com/morphismtech/squeal, because, to my knowledge, it's the only option that both maintains deep type safety without losing the expressive power of SQL. It can even typecheck your database migrations. There's even a tool to generate the types of your schema based on an existing database: https://github.com/mwotton/squealgen
-
How can type inference represent calculation?
Indeed, this is exactly what squeal does. You define (or generate from your schema) a type-level description of your tables, including whether each column can be null or not, and squeal type-checks your SQL queries, including checking whether those fields should be wrapped in a Maybe or not. In the linked documentation, note how the user_id and email fields are defined:
-
How to dynamically create types?
If the DB is Postgres, then this is actually probably a good usecase for Squeal, along with squealgen. It has a bit of a learning curve, but what you get is the ability to read an existing DB and generate a type-level schema from it automatically, which can then be used for completely type-safe queries. It also supports type-level migrations.
What are some alternatives?
opaleye
postgrest - REST API for any Postgres database
Preql - An interpreted relational query language that compiles to SQL.
prosto - Prosto is a data processing toolkit radically changing how data is processed by heavily relying on functions and operations with functions - an alternative to map-reduce and join-groupby
squeal-postgresql - Squeal, a deep embedding of SQL in Haskell
PostgreSQL - Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work with pull requests on github. To contribute, please see https://wiki.postgresql.org/wiki/Submitting_a_Patch
ghc - Mirror of the Glasgow Haskell Compiler. Please submit issues and patches to GHC's Gitlab instance (https://gitlab.haskell.org/ghc/ghc). First time contributors are encouraged to get started with the newcomers info (https://gitlab.haskell.org/ghc/ghc/wikis/contributing).
fquery - A graph query engine
cimple - Cimple and Apidsl language parsers and tools
generic-persistence - GenericPersistence is a Haskell persistence library for relational databases. The approach relies on GHC.Generics. A real-world demo can be found here:
selda - A type-safe, high-level SQL library for Haskell