Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A pure Haskell implementation of Datalog
branch: master

Don’t build with ghc 7.4 in travis

It looks like haskeline prevents that from working
latest commit 226eb73ffd
@travitch authored

This is a pure Haskell implementation of Datalog, as a library

Datalog is a logic language that allows for recursive database queries. This implementation is distinguished from many others in that it is embeddable as a library in other (Haskell) programs. A driver program that operates on textual input is also planned.

It is currently just a semi-naive evaluator, but it is reasonably efficient. The implementation is currently in its early stages but it seems to produce reasonably correct results. See the test suite for some details.

Planned Enhancements

  • Magic sets transformation
  • Optional BDD backend for a subset of queries
  • Rewrite literals like f(X,X) into f(X,Y), X=Y. A few internals assume that the same variable doesn't appear twice in a literal.
Something went wrong with that request. Please try again.