Size: a a a

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

2021 March 19

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Монады в кложе норм разъезжаются по всему коду, больше пока не видел пользы. Вероятно нужно годик их поесть, чтобы достичь просветления.
не надо их есть 😊
источник

ST

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

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Sergey Trofimov
не надо их есть 😊
Я полностью согласен, что не надо, но выше @dbvvmpg пишет про просветление от failjure, может и есть что-то там. Лично для меня опыт с самодельными монадами в кложе был непонятным — лишнее усложнение без особых преимуществ.
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Я полностью согласен, что не надо, но выше @dbvvmpg пишет про просветление от failjure, может и есть что-то там. Лично для меня опыт с самодельными монадами в кложе был непонятным — лишнее усложнение без особых преимуществ.
Самодельные мне тоже не нравились :)
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
И я плевался
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
Самодельные мне тоже не нравились :)
можно подумать, failjure боги ниспослали на землю 😊
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Sergey Trofimov
можно подумать, failjure боги ниспослали на землю 😊
В таком деле, как обработка ошибок трудно придумать что-то идеальное
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Обработка ошибок изначально обречена на провал, извините
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Failure - кмк неплохой баланс между спагеттированием чистомонадного подхода и внезапностью эксепшнов
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
Самодельные мне тоже не нравились :)
Там всё-таки подсмотрено было в failjure, так что я не знаю 🤷🏻‍♂️
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Там всё-таки подсмотрено было в failjure, так что я не знаю 🤷🏻‍♂️
Саксесс заворачивался?
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Не помню 🤷🏻‍♂️ А что?
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Не помню 🤷🏻‍♂️ А что?
Дык основное отличие Failjure от Error - именно отсутствие необходимости разворачивать успех
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Потому ты прячешь бренный мир в отдельные неймспейсы, розовые пони с чистыми функциями тоже отдельно, а склеиваешь всё на самом верхнем уровне
источник

ST

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

DL

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

TL

Timur Latypoff in Clojure — русскоговорящее сообщество
А чем подход Failjure принципиально отличается от try/catch?

Даже структура кода похожа вроде
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Timur Latypoff
А чем подход Failjure принципиально отличается от try/catch?

Даже структура кода похожа вроде
См. Предыдущее сообщение
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
конечно, но в отличие от эксепшна ты получаешь fail
и?
пусть есть функция /', которая при делении на 0 вернёт fail
и есть мой код, который не работает с fail
тогда выражение (+ 1 (/' 2 0)) также развалится
и все функции обрастают знанием про fail, что и называется «расползаться»

функции, возвращающие fail, не поместишь в публичную библиотеку
таким кодом не поделишься по простому
источник

TL

Timur Latypoff in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
См. Предыдущее сообщение
А, то есть теперь нужно И специальное значение-ошибку обрабатывать, И эксепшны?
источник