Efficient logic programming in Haskell?

This page summarizes the projects mentioned and recommended in the original post on /r/haskell

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • guanxi

    Relational programming in Haskell. Mostly developed on twitch.

  • Have you looked into the work that Ed Kmett was doing around this topic? The repo is here. I don't think that doing logic programming Haskell from like a EDSL-ish approach will ever be as fast as in a real Prolog implementation, but I do think you can get acceptable performance just like you can in Scheme/Racket.

  • souffle-haskell

    Haskell bindings for the Souffle datalog language

  • Have you seen /u/ltielen's souffle-haskell? It's bindings to Soufflé, which is similar to Datalog, which is similar to Prolog. We pair-programmed on the code which transfers the data between the Haskell and C++ sides, and I can attest that Luc put a lot of effort into making the library run fast.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • eclair-lang

    A minimal, fast Datalog implementation in Haskell that compiles to LLVM IR

  • For these reasons I've been building eclair, which is another high performance Datalog compiler written in Haskell, that compiles to LLVM, and is also based on Souffle. So far it is still in a fairly early stage, but I'm making progress. :)

  • eclair-haskell

    Haskell bindings for Eclair Datalog

  • And in case you're wondering, yes I made eclair-haskell as well! Almost same API, but there are some things I still need to iron out (after I finish adding support for strings..).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts