But yeah, the practical use is to tell you when a computation is already looping, for the large subset of infinite loops that result in states being repeated relatively quickly.
This is too strong of a statement. Lots of software simply loops, repeating the same state over and over, until an external interrupt occurs.
$n$ is usually the memory + cpu cache size.
$ while ping -W 2 -q -c 1 www.google.com; do sleep 10; done
Eventually, the network will go down. while True:
if loop_var > 9000:
break
loop_var += 1
My main complaint that might as well detect a repeat in snapshot but I really doubt that it detects extraneous changes in loop variables that might be caused by stray infinite loop logic.From programming perspective it's better to crash hard and let the error be known rather than fail silently and introduce more sublte errors.
From user perspective, what is the point of saving file in a program that is falling over when you could potentially save a corrupt file and instead of retaining some of the work the user will end up with a blob of useless data. I guess you could do Save As... and then manually compare changed data with last save. Still I'd be extremelly suspicious of it.
From user perspective, what is the point of saving file in a program that is falling over when you could potentially save a corrupt file and instead of retaining some of the work the user will end up with a blob of useless data. I guess you could do Save As... and then manually compare changed data with last save. Still I'd be extremelly suspicious of it.
I am absolutely shocked that nobody else has even hinted at this. I wouldn't recommend this tool in almost any circumstance.