souffle-dsl: Haskell EDSL for Souffle

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

Haskell EDSL for Souffle.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0
Change log CHANGELOG.md
Dependencies base (>=4.12 && <5), containers (>=0.6.2.1 && <1), directory (>=1.3.6.0 && <2), filepath (>=1.4.2.1 && <2), mtl (>=2.0 && <3), process (>=1.6.9.0 && <2), souffle-haskell (>=2.1.0 && <3), template-haskell (>=2 && <3), temporary (>=1.3 && <2), text (>=1.2.4.0 && <2), type-errors-pretty (>=0.0.1.0 && <1) [details]
License MIT
Copyright 2021 Luc Tielen
Author Luc Tielen
Maintainer luc.tielen@gmail.com
Category Logic Programming, DSL
Home page https://github.com/luc-tielen/souffle-dsl#README.md
Bug tracker https://github.com/luc-tielen/souffle-dsl/issues
Source repo head: git clone https://github.com/luc-tielen/souffle-dsl
Uploaded by luc_tielen at 2021-04-11T12:22:52Z
Distributions NixOS:0.1.0
Downloads 132 total (5 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]

Souffle-dsl

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.

Documentation

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

Contributing

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

Issues

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