This will only really become an issue once multithreading support is added, as at the moment the answer to quiescence is "When the function call has returned, it has quiesced." However, this is not suitable for the long term intent of this system.
Basically, we want to know when progress is no longer being made, either because no more rules can fire (normal, absolute quiescence), or because the only rules which can fire are running slowly (by some provided guideline of slow) due to their attached functions.
This will only really become an issue once multithreading support is added, as at the moment the answer to quiescence is "When the function call has returned, it has quiesced." However, this is not suitable for the long term intent of this system.
Basically, we want to know when progress is no longer being made, either because no more rules can fire (normal, absolute quiescence), or because the only rules which can fire are running slowly (by some provided guideline of slow) due to their attached functions.