Soufflé is a translator of Horn clauses into parallel C++. Soufflé language has similarities to Datalog, and is used as a domain-specific language for analysis problems.
Features of Soufflé
- Efficient translation to parallel C++ of Datalog programs
- Extended semantics of Pure Datalog, e.g., permitting unbounded recursions with numbers
- Simple component model for Datalog specifications
- Recursively defined record types (aka. constructors) for tuples
How to get Soufflé
Use git to obtain the source code of Soufflé.
$ git clone git://github.com/souffle-lang/souffle.git
Build instructions can be found here.