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.

## Features

• 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