Hasty Briefsbeta

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.