I’d like to self-nominate my crate Banish for Crate of the Week: GitHub - LoganFlaherty/banish: Banish, a declarative DSL embedded in Rust, for defining rule-based state machines..
Banish is a declarative DSL for building rule-driven state machines using a procedural macro. Unlike traditional FSM libraries, Banish re-evaluates rules within a state until no rule fires (a fixed-point execution model) before transitioning to the next state. This allows complex rule-based behavior without manually writing control loops.