ldbc: Pure functional JDBC layer with Cats Effect 3 and Scala 3.

Hi!
A project named LDBC was created and became an affiliate project of Typelevel.

LDBC is a database library written in Scala3.
It was just released last month and is rough around the edges, but you can touch it!

This is what makes me happy when I use LDBC.

  • Type safety: compile-time guarantees, development-time complements, read-time information
  • Declarative: Separates the form of the table definition (“What”) from the database connection (“How”).
  • SchemaSPY Integration: Generate documents from table descriptions
  • Models can be generated from SQL files.
  • Libraries, not frameworks: can be integrated into your stack

Please read the README documentation for more information!

2 Likes

Looks great! Typelevel is really missing out on some quickstart ORM-like libs.

I tried to write something slightly similar some time ago and ended up with skunk-tables, which I don’t have time to maintain right now.

I think LDBC can borrow at least the syntax for default tables - in skunk-tables you don’t have to always describe the precise DB types and constraints, but it infers the some sensible ones.

Thanks!

The method of building with only the necessary constraints is a very good idea.

I will read the skunk-tables code and refer to it!

1 Like