Вот версия вашего кода, которая пытается использовать некоторые функциональные возможности SWANK, чтобы выяснить, что такое поток REPL, и запланировать таймер в этом потоке. Обратите внимание, что это не будет работать с SLY, насколько я могу судить, потому что SLY имеет по крайней мере разные имена пакетов. Однако он может дать подсказку, и он слишком длинный, чтобы быть комментарием.
Обратите также внимание, что я не знаю, является ли это правильным способом поиска потока REPL, или действительно ли поток REPL сохраняется для любого отрезок времени.
Если repl-thread-maybe
не удается найти поток-кандидат, он возвращает t
, в результате чего make-timer
запускает таймер в своем собственном потоке. Я думаю, это безопасно, но это будет означать, что любой выходной сигнал от таймера (при условии, что это то, что вам нужно) идет куда-то, кроме REPL. *