Remix.run Logo
raffael_de 2 hours ago

What is Datalog used for nowadays?

gobdovan 2 minutes ago | parent | next [-]

General programming [0], static analysis [1], RDF triple stores [2], authorization systems [3], incremental computation [4] [5], graph DBs [6]. But it is kind of hard to define Datalog exactly, since it is an entire family of technologies based on logic, each extending a clean mathematical model differently.

[0] https://github.com/flix/flix

[1] https://github.com/rust-lang/polonius

[2] RDFox

[3] Biscuit

[4] https://github.com/vmware-archive/differential-datalog

[5] https://github.com/brurucy/pydbsp [6] https://github.com/cozodb/cozo

AlotOfReading 2 hours ago | parent | prev [-]

Other than databases, program analysis. The polonius borrow checker in rustc uses datalog internally.

But you can use it for lots of things. Whenever I'm frustrated with graph based tools being slow (like build systems), I run the graph through a datalog engine for comparison. It's usually much, much faster.