Posted on 2018-07-17

Rule engine Rule for Dart

An open source rule matching system

An open source rule engine that follows a syntax inspired by Drools, but adapted for Flutter and Dart. The project contains a standard lexer and parser, which output is then used to compile the described rules into a RETE network.


  • Brings production rules with a drools-like syntax to Dart and Flutter
  • Dynamic insertion and evaluation of facts
  • Caches earlier matches of different rule clauses for better performance
  • Works even with lack of reflection in Flutter
  • Allows multiple callbacks for end results
  • Supports variables inside rules
  • Supports rolling windows on all DateTime objects
  • Supports aggregates on all numerical attributes (sum, average, min, max)
  • Allows for negation of facts by offering a not keyword

Linked publications