Ruler: a rules engine for Elixir applications
Then James MacAulay will presented an Elixir based library to solve these very problems.
In this talk I will introduce Ruler, a package that lets you define business rules in Elixir using a familiar pattern-matching syntax, and to efficiently apply those rules to facts about the world. As requirements become more complex over time, Ruler can help you ensure that your application responds appropriately to every situation.
Under the hood, Ruler is built on an immutable version of the Rete algorithm which lets it efficiently scale to large sets of complex interacting rules. By leveraging Elixir's powerful macro system and immutable data structures, Ruler is able to provide compelling usability benefits compared with inference engines typically available on other platforms.