Michael Veksler wrote:
Getting a consistent definition of "bounded side-effects" is a nontrivial task. Simply hacking and patching the definition does not work. Trust me, I've been there done that, got burnt and are still paying for my sins.
Indeed! I think anyone who has been involved in the arduous work of formal language definition is very aware of this. At one point people designing Ada wanted to make functions side effect free, we quickly discovered this was not useful since a useful definition could not be formalized (e.g. is a pure function that works by using a memo table side effect free?)