souffle-dsl: Haskell EDSL for Souffle

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Haskell EDSL for Souffle.


[Skip to Readme]

Properties

Versions 0.1.0, 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:21:57Z

Modules

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


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.