-
prql
PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement
https://prql-lang.org/ has a bunch of good examples on its home page.
If you engage the syntax with your System 2 thinking (prefrontal cortex, slow, the part of thinking we're naturally lazy to engage) rather than System 1 (automated, instinctual, optimized brain path to things we're used to) you'll most likely find that it is simpler, makes more logical sense so that you're filtering down things naturally like a sieve and composes far better than SQL as complexity grows.
After you've internalized that, imagine the kind of developer tooling we can build on top of that logical structure.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
It is, using table-valued functions (TVFs).
There's an example at the bottom of this file:
https://github.com/google/zetasql/blob/master/zetasql/exampl...
-
homoiconic
An experiment in publishing code and words about code on a small scale. (by raganwald-deprecated)
I find this [1] from this [2]. Seems like a good explanation. It doesn't exist on Wikipedia though.
[1] https://github.com/raganwald-deprecated/homoiconic/blob/mast...
[2] https://stackoverflow.com/a/285973/88231
-
There is https://github.com/linq2db/linq2db which is LINQ to SQL reincarnated.
Of course there's EF Core too.
-
I find this particular choice of syntax somewhat amusing because the pipe notation based query construction was something I ended up using a year ago when making an SQL library in OCaml:
https://github.com/kiranandcode/petrol
An example query being:
```
-
I haven't seen it mentioned yet, but it reminds me of PQL (not PRQL): https://pql.dev
It's inspired by Kusto and available as an open-source CLI. I've made it compatible with SQLite in one of my tools, and it's refreshing to use.
An example:
StormEvents
-
it is also pretty good at decompiling - try feeding the output of https://godbolt.org/ back to an LLM
-
And NHibernate.Linq and Dapper.Extensions.Linq… Most ORMs in the ecosystem have at least one Linq support library, even if just a third-party extension.
Also, there are fun things that support Linq syntax for non-ORM uses, too, such as System.Reactive.Linq and LanguageExt: https://github.com/louthy/language-ext/wiki/How-to-deal-with...