3 ms·
> I take the strong position that code is data, so an if statement in code is equivalent to an if-then rule stored in a database One difference is that in a pu
by KineticLensman 2y ago
> I take the strong position that code is data, so an if statement in code is equivalent to an if-then rule stored in a database
One difference is that in a pure ES, the specific rules (if-then statement) to fire are selected at run time by the rule engine based on whether a rule's preconditions are triggered by items in the current 'blackboard'. This differs from a conventional imperative language where the possible sequence of if-then 'firings' is fixed and determined by their sequential position in the source code, even if the subset of actual firings depends on the program's state. In rule-based systems, it doesn't always follow that the sequence of rule firings relates in any way to their position in the source. Forcing rules to fire in a specific order sometimes involved painful shenanigans, rule prioritisation, etc.