HazyResearch / ddlog

Compiler for writing DeepDive applications in a Datalog-like language — ⚠️🚧🛑 REPO MOVED TO DEEPDIVE 👇🏿
https://github.com/HazyResearch/deepdive/tree/master/compiler/ddlog
19 stars 4 forks source link

DeepDiveLog Build Status Coverage Status

A Datalog-like language for writing DeepDive apps.

Building

The following command builds all Scala code under src/.

make

Testing

Interactive Tests

To play with DDlog compiler's command-line interface interactively, use the following script after running make.

test/ddlog

This provides a quick way to see the effects from the command-line after changing the source code as it directly runs the compiled classes under target/ rather than having to assemble a jar every time. After running make at least once, you can solely rely on an IDE such as IntelliJ IDEA to compile individual .scala files and test it with this script.

Automated Tests

The following command runs all tests under test/. Tests are written in BATS.

make test

To run tests selectively, see the long make command produced by:

make test-list

Test Coverage

The following command produces a test coverage report.

make test-coverage

Deploying

Assembling a standalone jar

The following command produces a standalone jar that contains the DDlog compiler.

make ddlog.jar

Running the standalone jar

The following command generates a deepdive.conf for the spouse example in DeepDive's tutorial.

mkdir -p examples/spouse_example
java -jar ddlog.jar compile examples/spouse_example.ddl >examples/spouse_example/deepdive.conf