I'm implementing an interpreter, and wondering how often I should check for interruptions (e.g. Ctrl-C). I don't want to spend too much CPU time checking whether I've been interrupted, but I also want slow programs to stop promptly. It's tricky.