13 ms·
> Something like Haskell might have a rich enough type system to embed relations properly. It has alread been done (and, unlike Standard Chartered's version, n
by tome 10y ago
> Something like Haskell might have a rich enough type system to embed relations properly.
It has alread been done (and, unlike Standard Chartered's version, no weird and non-composable type-level programming required)
https://hackage.haskell.org/package/opaleye https://hackage.haskell.org/package/opaleye
Disclaimer: I wrote Opaleye, but most of the "embed statically typed relations in Haskell" leg work was done by HaskellDB.
- eru 10y agoSounds awesome. I'll check it out. Hmm, it says: > An SQL-generating DSL targeting PostgreSQL. Allows Postgres queries to be written within Haskell in a typesafe and composable fashion. Genering Postgres queries sounds very different from using relations as a datatype inside my program. Or is that feature buried somewhere deeper?
- tome 10y agoOpaleye only targets Postgres, not in-memory relations, but if one were to implement in-memory relations in Haskell then they could/should/would have roughly the same type structure as Opaleye.