Executar código em intervalos regulares no Clojure

Qual é a melhor maneira de executar o código em intervalos regulares no Clojure? Atualmente, estou usando java.util.concurrent.ScheduledExecutorService, mas isso é Java - existe uma maneira Clojure de agendar código para executar em intervalos regulares, após um atraso, de forma cancelável? Todos os exemplos de código Clojure que eu vi usam Thread / sleep, que também parece muito Java.

questionAnswers(4)

yourAnswerToTheQuestion