There’s also Opaleye for Haskell, a bit more boilerplate than persistent to define your models and it only supports postgresql, but it makes up for it with a completely composable and type checked sql edsl.
Most orm’s is where composability goes to die, but Opaleye get’s it right.
That’s neat, but man it makes me happy I don’t talk to my databases with Haskell.
There’s also Opaleye for Haskell, a bit more boilerplate than persistent to define your models and it only supports postgresql, but it makes up for it with a completely composable and type checked sql edsl.
Most orm’s is where composability goes to die, but Opaleye get’s it right.