Click bait title, but EdgeDB is very interesting.
It’s not really click bait, to be honest. It’s the honest truth. SQL is an uncomposable mess that’s ended up being industry standard.
Ecto already fixes most my problems with SQL. And to be honest there was better query language QUEL which was even used in the father of the PostgreSQL - POSTGRES. I do not see much improvement in the EdgeQL as this still mixes few things.
Yeah, Ecto is really nice to work with.
Problem is, I dont have it when I go to another languages I work with.
I wonder if Ecto team would find easier to build the library arround EdgeQL.
I must be missing something in this example, because it looks like “empty set” has most of the same logical problems that were cited as issues with NULL
.
Relatedly, the OPTIONAL
keyword: every function argument, by default, short-circuits its function if it’s empty.
Well erlang calls it’s empty list []
the nil
type internally, so yeah, they just renamed it is all. ^.^
I wonder what a strongly typed sql replacement would be like…
Oh wow, someone here and in the HN comments mentioned QUEL! It’s been years since I’ve heard that!!!
And in Common Lisp '()
(empty list) and NIL
are exactly the same value.
Yep, super common in a lot of languages. OCaml used to have a null
function that returned true if it’s argument was nil
/[]
. I think NIL in Lisp was the first as far back as I remember.