Documentation

Our comprehensive guide covers building, installation, writing logic programs, compiling and running programs, interfaces, and more.

Browse Docs →

Google

Search for Soufflé and Datalog topics on Google to find discussions, tutorials, and community resources.

Search Google →

souffle-lang/souffle

Find existing issues on the main Soufflé development repository. File a new issue if you think you have found a bug.

View Issues →

Search Tips

  • 1

    Be specific. Include relevant keywords like "Soufflé Datalog," "static analysis," or the name of a particular feature you're working with.

  • 2

    Check the docs first. The documentation covers language features, types, execution modes, and synthesis — many questions are answered there.

  • 3

    Search existing issues. Before filing a new bug report, browse the GitHub issue tracker to see if your problem has already been addressed.

  • 4

    Include context. When reporting an issue, describe your environment, Soufflé version, and provide a minimal reproducible example.

The Soufflé community thrives around the shared goal of advancing Datalog-based program analysis and synthesis. Whether you are a researcher exploring deep design space explorations through rapid prototyping, a developer building scalable static analysis tools for Java taint checking or security audits, or a student learning logic programming for the first time, there are welcoming spaces to connect. Community discussions span topics from the theoretical underpinnings of Futamura projections and partial evaluation to practical guidance on optimizing staged compilation and specialized data structures. Engaging with fellow users and contributors helps refine how Soufflé translates declarative logic into efficient parallel C++ programs, pushing the boundaries of what Datalog can achieve in real-world analysis workflows.