Когда я надел свою шляпу C, я думаю, что, возможно, идиоматический Clojure просто выполняет простую вещь и проверяет возвращаемые значения.Идиоматическая обработка ошибок в Clojure
Когда я надел свою шляпу Java (неохотно, я должен добавить), я думаю, что, поскольку Clojure работает на JVM, естественным путем должно быть использование исключений JVM.
Когда я надену свою функциональную шляпу, я думаю, что должна быть какая-то монадическая конструкция или макрос потоковой передачи, который может обрабатывать ошибки в виде композиций.
Так какой же идиоматический способ обработки ошибок в программе Clojure?
Чувствуется, что любая монада принадлежит к ядре Clojure. Просто бросая исключение, которое, как мне кажется, типично, похоже на возврат к императивному способу делать вещи. – Mario