Skip to content

plast-lab/souffle-addon

Repository files navigation

A simple add-on dynamic library for more complex arithmetic operations in Souffle-Datalog (https://souffle-lang.github.io).

Current coverage:

  • 256-bit arithmetic (for crypto)

Dependencies:

Functor compilation is rellying on the underlying word size of the installed souffle binary. Due to that, our Makefile is parametrized via its WORD_SIZE parameter. The make WORD_SIZE=$(souffle --version | sed -n 3p | cut -c12,13) command will build the functor with the correct word size (for latest souffle versions). Usage:

$ make WORD_SIZE=32|64          # builds all, sets libfunctors.so as a link to libsoufflenum.so
$ export LD_LIBRARY_PATH=`pwd`  # or wherever you want to put the resulting libfunctors.so

and use a Souffle program with the num256functors.dl definitions. For compiled execution, libfunctors.so (i.e., at least a link to the real .so) should be in the compilation directory.

A sample Souffle client program can be found under directory dlexample.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published