Idiomatyczny sposób na napisanie kodu Clojure do wielokrotnego czytania linii z konsoli?

Ostatnio pisałem mały skrypt CLI, który musiał wielokrotnie czytać daty z konsoli (liczba dat do odczytania była obliczana i może być różna za każdym razem). Przykład kodu Ruby, aby dać Ci pomysł:

dates = x.times.collect { print "Enter date: "; Date.parse(gets.chomp) }

Do cholery, napisałem skrypt w Clojure i skończyłem używając jakiegoś brzydkiego kodu zswap! iloop...recur. Zastanawiam się, jaki byłby najczystszy sposób osiągnięcia pożądanego efektu w Clojure. (Clojure madotimes, ale nie zachowuje wartości zwróconych przez ewaluację ciała ... jak można się spodziewać po języku, który podkreśla czyste programowanie funkcjonalne.)

questionAnswers(3)

yourAnswerToTheQuestion