У вас это настроено странно. Я думаю, что вы имели в виду:
(swap! theatom (fn [refs]
(map (fn [theRef]
(dosync (alter theRef inc))
theRef) ; Returning the return of dosync "unwraps" the refs
refs)))
Хотя это можно сделать немного аккуратнее, используя doseq
:
(swap! theatom (fn [refs]
(doseq [r refs]
(dosync (alter r inc)))
refs))
Вы пытались отобразить атом вместо списка, который он содержит. Атомы не повторяемы, поэтому это вызвало бы ошибку.