Soufflé is a variant of Datalog for tool designers crafting analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program from a logic specification.
C++ M4 JavaScript Yacc CSS Shell Other
Switch branches/tags
Clone or download
mmcgr Merge pull request #679 from lyndonhenry/master
New MPI execution engine for -e option.
Latest commit 2913672 Jul 18, 2018


Build Status

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://

Build instructions can be found here.

Home Page