I have wanted something similar for Python: where the execution of a function will be interrupted (i.e. via a dedicated exception) and then I can rerun it to the very same point it previously halted while none of prior side effects occur and the previous state within that function gets restored.
While I have an idea how to implement it, now after having read the article and comments here, how is this concept called? Does an implementation for Python exist already?