souffle-dsl: Haskell EDSL for Souffle

[ dsl, library, logic-programming, mit ] [ Propose Tags ]

Haskell EDSL for Souffle.

[Skip to Readme]


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 0.1.0
Change log
Dependencies base (>=4.12 && <5), containers (>= && <1), directory (>= && <2), filepath (>= && <2), mtl (>=2.0 && <3), process (>= && <2), souffle-haskell (>=2.1.0 && <3), template-haskell (>=2 && <3), temporary (>=1.3 && <2), text (>= && <2), type-errors-pretty (>= && <1) [details]
License MIT
Copyright 2021 Luc Tielen
Author Luc Tielen
Category Logic Programming, DSL
Home page
Bug tracker
Source repo head: git clone
Uploaded by luc_tielen at 2021-04-11T12:22:52Z
Distributions NixOS:0.1.0
Downloads 157 total (2 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for souffle-dsl-0.1.0

[back to package description]


License: MIT CircleCI Hackage

This repo provides a Haskell EDSL for writing Souffle Datalog code directly in Haskell. This DSL was initially included in the souffle-haskell repo, but is now a standalone package.


The documentation for the library can be found on Hackage. The documentation from souffle-haskell is also relevant.


TLDR: Nix-based project; the Makefile contains the most commonly used commands.

Long version:

The project makes use of Nix to setup the development environment. Setup your environment by entering the following command:

$ cachix use luctielen  # Optional (improves setup time *significantly*)
$ nix-shell

After this command, you can build the project:

$ make configure  # configures the project
$ make build      # builds the haskell code
$ make lint       # runs the linter
$ make hoogle     # starts a local hoogle webserver


Found an issue or missing a piece of functionality? Please open an issue with a description of the problem.