---
key: pl/souffle
kind: plang
name: "Soufflé"
url: https://plangs.page/souffle
---

# Soufflé

> Parallel logic programming language used for static analysis and reverse engineering, influenced by Datalog.

Open source parallel logic programming language, influenced by Datalog, featuring both an interpreter and a compiler that targets parallel C++. Designed for large-scale static analysis, it allows for rapid prototyping in logic-based problem solving, and is used primarily for building static analyzers, disassemblers, and binary reverse engineering tools.

## Facts

- Appeared: 2016
- Homepage: https://souffle-lang.github.io/
- GitHub: https://github.com/souffle-lang/souffle

## Relationships

### Paradigms

- [Compiled](https://plangs.page/paradigm/compiled)
- [Declarative](https://plangs.page/paradigm/declarative)
- [Logic](https://plangs.page/paradigm/logic)
- [Parallel](https://plangs.page/paradigm/parallel)

### Platforms

- [Cross-Platform](https://plangs.page/platform/cross)

### Type Systems

- [Static](https://plangs.page/type-system/static)

### Dialect of

- [Datalog](https://plangs.page/datalog)

### Influenced By

- [Datalog](https://plangs.page/datalog)

### Influenced

- [Eclair](https://plangs.page/eclair)

### Written With

- [C++](https://plangs.page/c++)

### Licenses

- [MIT](https://plangs.page/license/mit)

### Tags

- [Compiler](https://plangs.page/tag/compiler)
- [Data Analysis](https://plangs.page/tag/analysis)
- [Interpreter](https://plangs.page/tag/interpreters)
