Ответ 1
Как уже было сказано Марсином, используйте лямбду (анонимную функцию)
user=> (map and [true false 0 nil])
java.lang.Exception: Can't take value of a macro: #'clojure.core/and (NO_SOURCE_FILE:1)
user=> (map #(and %) [true false 0 nil])
(true false 0 nil)
изменить
Кстати, если вы используете map
для создания множества задач, которые будут выполняться в других потоках, могут возникнуть проблемы. map
ленив, и фьючерсы не создаются, пока что-то их не попросит. Вам нужно будет заставить его оценивать (что происходит в repl, когда repl печатает результат) или найти другой способ.