Есть код, который должен возвращать промежуточный результат при keyboard interruption. Пока я реализовал топорное решение: signal handler что-то пишет в некий MVar, а код вычисления этот MVar периодически проверяет. Всё работает, но это убого.
А как бы эту задачу решил %username%? Поделитесь best practices.