Какова цель функции clojure reduced
(добавлена в clojure 1.5, https://clojure.github.io/clojure/clojure.core-api.html#clojure.core/reduced)
Я не могу найти для него никаких примеров. Док говорит:
Обертывает x таким образом, что сокращение будет заканчиваться со значением x.
Существует также reduced?
, который ему знаком
Возвращает true, если x является результатом вызова сокращенного
Когда я попробую, например, с (reduce + (reduced 100))
, я получаю сообщение об ошибке вместо 100. Также зачем мне что-то уменьшать, когда я знаю результат заранее? Поскольку он был добавлен, вероятно, есть причина, но поиск в googling для clojure reduced
содержит только результаты reduce
.