This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-07-07
Channels
- # aleph (10)
- # announcements (6)
- # architecture (23)
- # atom-editor (2)
- # beginners (35)
- # biff (5)
- # cljdoc (22)
- # clojure (14)
- # clojure-europe (18)
- # clojure-hungary (26)
- # clojure-nl (6)
- # clojure-uk (6)
- # clojurescript (39)
- # core-async (1)
- # data-science (14)
- # datascript (20)
- # datomic (4)
- # graalvm (18)
- # jobs-discuss (5)
- # keechma (1)
- # leiningen (4)
- # malli (3)
- # nbb (11)
- # nextjournal (2)
- # off-topic (1)
- # parinfer (1)
- # releases (1)
- # remote-jobs (3)
- # shadow-cljs (7)
- # sql (2)
- # xtdb (4)
@metasoarous, thanks, I'm having a look over the talks for that, though at some point I'll have to sit down and work out what exactly it's doing in the rust server 😃... @ben.sless, thanks for the heads up, I spotted relic earlier, it's looks interesting, I'm a little concerned that it appears to have a different model. So not 100% certain how well it fits with datalog?
Both datalog and sql can be mapped to relational algebra which is what you really want, "the rest is commentary"
I don't know where relic stands atm but i recall the author wanted to rewrite it with datalog, too
in any case, you can join any datalog query on the entities to turn it into SQL, e.g.
?e :a v -> select ,,, where a = v
where the select is the find clausetwo different entities with the same value in the same where
clause are a table join
My datalog spike mapped to the 'node dsl' that you see in relic right now. But I first had to extend it with fixed-point recursion (cant have datalog without rules) - its possible though. Both things were at the experimental stage on a private hack branch around 6 months ago, not sure If I'll see them through at this point.
It pretty much works for what I intended it for (I am a simple man) its like fun and lets you program like the tar pit frp examples at smaller scales (such as in browser apps)
And here I was, wanting an embedded timely dataflow framework in Clojure over distributed event queues 🔥
@U0GE2S1NH hinted at this, but just to clarify, SQL is not isomorphic to datalog; Datalog is strictly more powerful/expressive because you can write recursive rules. Some SQL implementations (postgres in particular) do support some form of fixed-point recursion, but it's far from elegant (relative to a recursive datalog rule).
As far as "what exactly it's doing in the rust server", you can find out a bit more about it by looking at Frank McSherry's posts/papers.
Also https://www.microsoft.com/en-us/research/wp-content/uploads/2013/01/differentialdataflow.pdf
There may be a few other links worth following here: https://github.com/metasoarous/datsync/wiki/Literature