> SELECT NAME FROM EMP WHERE DEPT = 'TOY'
1,510 karma · joined August 24, 2015
[ my public key: https://keybase.io/refset; my proof: https://keybase.io/refset/sigs/pyTK0thu8g5O4Zs7EA3HrQYKkYZjeEz_TUr8nZV2hlY ] c0ba44896414421c9009bc8a77a86ceb
meet.hn/city/51.0612766,-1.3131692/Winchester
Socials: - github.com/refset
---
> SELECT NAME FROM EMP WHERE DEPT = 'TOY'
The "Figma OSS Alternative" post that's also on the HN homepage right now doesn't mention Clojure anywhere (no comments about it either!), but Penpot is clearly also yet another app successfully shipped using Clojure: https://github.com/penpot/penpot
Coincidentally my colleagues recently built a custom version of almost this exact same interactive UX for writing SQL tutorials: https://docs.xtdb.com/tutorials/immutability-walkthrough/par...
If only you had launched sooner :)
> for most of the history of sql we did not know how to translate it to relational algebra, and now that we do know most databases still don't do it.
https://www.scattered-thoughts.net/writing/unexplanations-sq...
> None of this could be expressed in the original relational algebra, and once you add it all it's not obvious we should even still be calling this an algebra, let alone granting it any mathematical mystique. I'd settle for calling it the 'sql calculus'. Or 'the algebra formerly known as relational'.
> It is still a reasonably good compiler IR though, and that's still the most useful way of thinking about it.
https://www.scattered-thoughts.net/writing/unexplanations-re...
[0] https://pganalyze.com/blog/5mins-postgres-optimize-subquerie...
[1] https://duckdb.org/2023/05/26/correlated-subqueries-in-sql.h...
[2] "Unnesting Arbitrary Queries" https://cs.emis.de/LNI/Proceedings/Proceedings241/383.pdf
We've not been developing v2 with ML feature serving in mind so far, but I would love to speak with anyone interested in this use case and figure out where the gaps are.
This. https://en.wikipedia.org/wiki/John_von_Neumann
> In 1955, von Neumann became a commissioner of the Atomic Energy Commission (AEC)
> He used this position to further the production of compact hydrogen bombs suitable for intercontinental ballistic missile (ICBM) delivery
> He was adamant that H-bombs delivered deep into enemy territory by an ICBM would be the most effective weapon possible
It seems much of his life was dedicated to applying Game Theory.
If SQL weren't so (needlessly) complex we would see much more competition across the database space.
Makes me wonder just how far people have pushed Foreign Data Wrappers in practice.
> I would actively avoid utilizing any query language where I have to count brackets
That's really an editor/tooling problem, solvable in many ways, but I guess a Python-like/Parinfer approach would be your preference? (where whitespace/indentation is significant)
I think it's simply that most businesses and investors don't register SQL as having any real problems, and especially now with a resurgent interest in SQL the idea of attempting anything novel feels too risky.
Shameless plug of one recent attempt to offer something different: XTQL https://docs.xtdb.com/intro/what-is-xtql.html
It's an excellent diagram, it really conveys the dissonance. Incidentally I interviewed Viktor Leis on a podcast last week about the paper where it's from: https://juxt.pro/blog/sane-query-languages-podcast/
A lot of people seem to believe that LLMs or other ML methods can overcome the complexity challenges of generating SQL accurately, but I'm yet to be convinced that a database-powered AI revolution can happen without somehow bypassing SQL.
1982 was as far as I got last time I went digging: https://news.ycombinator.com/item?id=34819400
That's definitely the dream. Another point along that spectrum (from the author of Apache Calcite): https://github.com/hydromatic/morel
The Prolog-derived syntax is routinely extended because the core is typically too simplistic/inexpressive to be directly useful, e.g. see https://www.fdi.ucm.es/profesor/fernan/des/html/manual/manua...
Hearing that the entire TigerBeetle domain logic lives in a single file [0] (and is intended to be pluggable for other OLTP use cases!) makes it 1000% more tempting to spend the weekend getting up to speed with Zig.
[0] https://github.com/tigerbeetle/tigerbeetle/blob/main/src/sta...
That's essentially the model we've chosen for XTQL, with the addition of a logic var unification scope for even more concise joins: https://docs.xtdb.com/intro/what-is-xtql#unify
Also, anyone interested in this post-SQL space would probably enjoy this recent paper: https://www.cidrdb.org/cidr2024/papers/p48-neumann.pdf