Mangle – a language for deductive database programming
6 days ago
- #database
- #datalog
- #programming-language
- Mangle is a programming language for deductive database programming, extending Datalog with features like aggregation, function calls, and optional type-checking.
- Deductive database programming allows uniform representation and querying of data from multiple sources and can model domain knowledge without binary predicate restrictions.
- Datalog, a declarative language similar to SQL, supports recursive rules and program structuring, which Mangle includes and extends.
- Mangle's extensions enhance practicality but may lose some properties like guaranteed termination.
- The open-source Mangle project aims to make concepts accessible to developers and facilitate experimentation, with a Go library implementation.
- Example Mangle rules demonstrate querying for vulnerable log4j versions and recursive dependency checks.
- Mangle supports n-ary relations and structured data, useful for requirements engineering and domain modeling.
- Building and testing the Mangle library involves standard Go commands, with ANTLR required for parser regeneration.
- External contributions to Mangle are welcome, with pull requests reviewed similarly to TensorFlow's process.