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. The Soufflé language is similar to Datalog (but has
terms known as records), and is frequently used as a domain-specific
language for analysis problems.
Features of Soufflé Efficient translation to parallel C++ of Datalog
programs (CAV'16, CC'16)
Efficient interpretation using de-specialization techniques (PLDI'21)
Specialized data structure for relations (PACT'19, PPoPP'19, PMAM'19)
with optimal index selection (VLDB'18)
Extended semantics of Datalog, e.g., permitting unbounded recursions
with numbers and terms
Simple component model for Datalog specifications
Recursively defined record types/ADTs (aka. constructors) for tuples
User-defined functors
Strongly-typed types for safety
Subsumption
Aggregation
Choice Construct (APLAS'21)
Extended I/O system for relations (including SQLITE3 interfaces)
C++/SWIG interfaces
Provenance/Debugging (TOPLAS'20)
Profiling tools
This requires: graphviz
Maintained by: Lockywolf
Keywords: prolog,datalog,ai,development,programming,re
ChangeLog: souffle
Homepage:
https://souffle-lang.github.io/
Download SlackBuild:
souffle.tar.gz
souffle.tar.gz.asc (FAQ)
(the SlackBuild does not include the source)
| Individual Files: |
| README |
| slack-desc |
| souffle.SlackBuild |
| souffle.info |
© 2006-2026 SlackBuilds.org Project. All rights reserved.
Slackware® is a registered trademark of
Patrick Volkerding
Linux® is a registered trademark of
Linus Torvalds