Size: a a a

Clojure — русскоговорящее сообщество

2020 March 13

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
Прелесть failure в том, что он упаковывает только ошибки
то есть без ошибок он возвращает необёрнутое значение?
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Sergey Trofimov
то есть без ошибок он возвращает необёрнутое значение?
Да
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
Прелесть failure в том, что он упаковывает только ошибки
а не прелесть в том, что я не могу использовать простые предикаты, а должен заворачивать их в функции, возвращающие fail для ошибок
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Tim Plotnikov
А какой подход предпочитаете?
для валидации данных или обработки ошибок?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
для валидации данных типа валидации форм я предпочитаю решения, которые собирают все ошибки, а не только первую попавшуюся.
а для прерывания на первой ошибке проще работать с исключениями
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
так это же Writer-монада )
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Я даже как-то купил книжку, в которой учат хаскель чисто на обработке ошибок))
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Целую книгу посветили как ошибки хэндлить)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Andrey Ivanov
так это же Writer-монада )
что «это»?
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
>решения, которые собирают все ошибки, а не только первую попавшуюся
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ну да, любой «паровоз» — монада 😊
источник

ИС

Ильшат Султанов in Clojure — русскоговорящее сообщество
Andrey Ivanov
>решения, которые собирают все ошибки, а не только первую попавшуюся
@strofimov1972 для сбора однотипных ошибок, например, композиции нескольких валидаторов есть резон. А вот прокидывать невалидные данные дальше вместо того, чтобы вернуть ошибку здесь и сейчас ни разу не сталкивался. Есть примеры, где такое требовалось?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Ильшат Султанов
@strofimov1972 для сбора однотипных ошибок, например, композиции нескольких валидаторов есть резон. А вот прокидывать невалидные данные дальше вместо того, чтобы вернуть ошибку здесь и сейчас ни разу не сталкивался. Есть примеры, где такое требовалось?
ну, если я правильно понял написанное, то мне такого не требовалось, поэтому я не могу привести примеры.
но не уверен, что я хорошо понял вопрос
источник

ИС

Ильшат Султанов in Clojure — русскоговорящее сообщество
Tim Plotnikov
Целую книгу посветили как ошибки хэндлить)
Мне понравился доклад про railway oriented programming. Правда старенький уже и на F#. Но сам подход хороший. Рекомендую, если не видели
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Видел, довольно интересный)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
вот-вот, потом эти рельсы по всему коду
и у каждого производителя свой стандарт на колею 😊
источник

ИС

Ильшат Султанов in Clojure — русскоговорящее сообщество
)))
источник

ИС

Ильшат Султанов in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну, если я правильно понял написанное, то мне такого не требовалось, поэтому я не могу привести примеры.
но не уверен, что я хорошо понял вопрос
Да, правильно понял. Вот я тоже не смог придумать примеры :)
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Да сплошь и рядом надо собрать и показать все ошибки а не только первую встреченную
источник

Д

Диёр in Clojure — русскоговорящее сообщество
Ильшат Султанов
Мне понравился доклад про railway oriented programming. Правда старенький уже и на F#. Но сам подход хороший. Рекомендую, если не видели
Мне рэйлвэй не очень нравится
источник