The contributors with their code contributions are listed below:
- Bernhard Scholz: project lead, design and implementation
- Herbert Jordan: high-performance parallel data-structures, language extensions including records and components, static type system, major refactoring of the system
- Paul Subotic: index selection for relations, language extensions (incl. nullary relations, bit-vectors)
- Raihaan Amod: initial profiler written in Java
- Alex Jordan: support designing/implementing the object-oriented C++ interface for Soufflé
- Nicholas Allen: refactoring of the front-end
- Kostyantyn Vorobyov: build system improvements, packages
- Nathan Keynes: facilitating the open source process; uploading Soufflé to github.
- Nicholas Hollingum: infrastructure, bug-fixes
- Anton Jurisevic: bug fixes
- Lyndon Henry: numerous bug fixes, Soufflé in the Cloud
- Dominic Romanowski: new profiler rewritten in C++, generates html/js
- Patrick Nappa: Equivalence relations
- Abdul Karim Zreika: optimizations, magic set transformation, inlining, new ast-to-ram translator
- Martin McGrane: dev ops, refactoring, new I/O system for relations, numerous bug fixes
- David Zhao: provenance/debugging for Datalog, refactoring of relation synthesis
- Samuel Isaac Arch: Auto-Scheduler, Auto-Index Selection with Inequalities
- Tytus Metrycki: New type system
- Xiaowen Hu: New high-performance interpreter
- Rachel Dowavic: Aggregators, scripting
- Tomas Puverle: Refactoring, initial CMake port
- Patrick Hao: GitHub action packaging and codecov
- Daniel Collins: Refactoring of RAM, documentation template for souffle-lang.github.io
- Yun Li: Extended provenance tool
- Brody Franks: Refactoring of RAM
- Oliver Scarlet: Type system fixes