LiSE
LiSE copied to clipboard
Limit the amount of time a rule may take to run
Currently, if a rule has an infinite loop in it, LiSE cannot recover; you just have to kill it and start over.
There should be a time limit after which a rule stops executing and raises an error.
This turns out to be impossible to implement within a single process. That means I'd have to run rules within a subprocess that has proxies to the LiSE entities in the core. If I can pull that off, I gain the ability to run many rules simultaneously if I want, though I'd have to come up with some deterministic way of applying the changes.