
Type-safe Datalog in OCaml - jlturner
https://github.com/c-cube/datalog/blob/master/README.rst
======
agentultra
Very cool.

If you haven't tried it implementing datalog is fun!

~~~
fspeech
Is the implementation any good? Anyone knows a good implementation in any
language?

~~~
c-cube
Author here. The implementation is quite straightforward (both for the bottom-
up seminaive fixpoint, and for the top-down full prolog with tabling). Good
generalist in-memory implementations would be, afaik, [XSB
Prolog]([http://xsb.sourceforge.net/](http://xsb.sourceforge.net/)) (by Warren
& al., a full prolog with crazy tabling) and [Z3's fixpoint
engine]([http://rise4fun.com/z3/tutorialcontent/fixedpoints](http://rise4fun.com/z3/tutorialcontent/fixedpoints)).
The point of this (slightly old) OCaml lib is to have an embedded engine,
something I needed a few years ago during my PhD.

