packages feed

souffle-dsl-0.1.0: README.md

# Souffle-dsl

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/luc-tielen/souffle-dsl/blob/master/LICENSE)
[![CircleCI](https://circleci.com/gh/luc-tielen/souffle-dsl.svg?style=svg&circle-token=07fcf633c70820100c529dda8869baa60d4b6dd8)](https://circleci.com/gh/luc-tielen/souffle-haskell)
[![Hackage](https://img.shields.io/hackage/v/souffle-dsl?style=flat-square)](https://hackage.haskell.org/package/souffle-dsl)

This repo provides a Haskell EDSL for writing [Souffle](https://github.com/souffle-lang/souffle)
Datalog code directly in Haskell. This DSL was initially included in the
[souffle-haskell](https://github.com/luc-tielen/souffle-haskell.git) repo, but
is now a standalone package.

## Documentation

The documentation for the library can be found on
[Hackage](https://hackage.haskell.org/package/souffle-dsl).
The documentation from [souffle-haskell](https://hackage.haskell.org/package/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](https://nixos.org/nix/download.html) to setup the development environment.
Setup your environment by entering the following command:

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

After this command, you can build the project:

```bash
$ 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.