Dr. Friedrich
Ну, представь как такой код писать?
Обернувшись в тёплую монаду!
Doge
Тогда деление пусть возвращает пару результат*код ошибки
Ну тогда уж either, а то product type для обработки ошибок - это как-то совсем по гошному
Dr. Friedrich
Ну и биндишь там
gsomix
Ну и биндишь там
Тоже такое себе решение.
gsomix
Я тоже думал над этим, но не придумал нормального решения.
Dr. Friedrich
Да не, как раз в монадку норм.
Dr. Friedrich
Смотри, её же не только для деления можно использовать.
Dr. Friedrich
А вообще сделать монадку, в которой бы ловились все арифметические несуразности (наши любимые nan, inf и пр.)
gsomix
Это неудобно.
Dr. Friedrich
Это неудобно.
Да ну, почему неудобно? Очень удобно.
gsomix
Не тот эффект, с которым хотелось бы возиться по всей программе.
Dr. Friedrich
В каком-нибудь х-ле даже удобнее чем обычно
Dr. Friedrich
Вместо let a = 2 + 2 in let b = 3 + 4 in let c = 5 + 8 in Херачишь do a <- 2 + 2 b <- 3 + 4 c <- 5 + 8 Супер!
gsomix
И необходимость композиционировать эффекты.
Dr. Friedrich
А не надо на них смотреть.
gsomix
Трансформеры же
Я знаю, спасибо.
Dr. Friedrich
И необходимость композиционировать эффекты.
Если ты пишешь на языке без исключений — то ты к этим сложностям привык и ими наслаждаешься.
gsomix
Dr. Friedrich
Тогда паника!
gsomix
И без паники, ну. :)
Dr. Friedrich
:(
gsomix
Мы же все любим гарантии.
Dr. Friedrich
Ну да, я люблю гарантию, что целочисленное деление на ноль кидает исключение!
Doge
Мы же все любим гарантии.
Ну тогда можно подумать о зав типах и иметь две операции деления - одну безопасную с гарантией того, что делитель не ноль, другую опасную возвращающую either, где про делитель мы ничего не знаем
gsomix
Это слишком сложно.
Dr. Friedrich
А мне норм. Ещё в untagged union заворачиваешь и тебе вообще норм становится.
Dr. Friedrich
Ну шоб не нужно было анврапать лишний раз.
Doge
Это слишком сложно.
Ну разделить на ноль и получить ноль тоже как-то не хочется. Все же тогда по сути проглотим ошибку
Doge
Ещё вариант: можно добавить в целочисленные типы всякие inf, nan и ими воспользоваться в таких ситуациях
gsomix
Это лучше.
Dr. Friedrich
Кстати, там в пони есть исключения или что-то вроде того.
Dr. Friedrich
Ну то есть будет так же неэффективно.
Dr. Friedrich
Разве что ты сможешь эти either'ы складывать и умножать.
Dr. Friedrich
Но мб тут просто сахарок был бы нужен, чтобы любые операции на either автоматически биндились на right.
Dr. Friedrich
Ну или, если вам угодно, любые операции на Result автоматически биндились на Success.
Dr. Friedrich
И мы приходим к тем же монадкам!
gsomix
Ладно, я эту телегу завел не из-за того, плохое это решение или хорошее.
gsomix
Я о нем знаю давно. :)
gsomix
Меня больше формулировка претензии позабавила.
gsomix
> Unlike elitist mathematicians stuck in the ivory tower, we men of industry divide by zero.
gsomix
За это я не люблю ФП сообщество.
gsomix
Потому что пока элитисты пишут ерунду в твиттере, в пони есть решения разной степени прагматичности и хорошести. В том числе формализованные. https://www.ponylang.org/media/papers/fast-cheap-with-proof.pdf
gsomix
Поэтому сопоставление elitist mathematicians с разработчиками Pony мне непонятно.
gsomix
Короче, опять сгорел от фпшников в интернете. :) То им написание кода в динамических языках — это неэтично, то какие-то дураки из индустии не знают математику и делят на ноль.
Igor
Кого то рыба покусала
Vladislav
неогнеупорный гсомикс
Анна
Vasily
У @gsomix чёт часто подгорает. Нужно антипригарное покрытие,ящитаю
Анна
дак и на улице жара
Vasily
Это тоже
Анна
Vasily
Люди так с ума и сходят
Dr. Friedrich
дак и на улице жара
Приехал в Новосибирск, а тут зима уже почти.
Dr. Friedrich
+17
Анна
Анна
фигасе
Vasily
Скоро снег пойдет
Анна
Vasily
А в Барнауле, пишут,нездоровая движуха с арестами за репосты
Vasily
Зачем ты туда залез 🌚
Работает он там
Vasily
Брейном в жиде
Igor
Говорят JB в СПб новый офис открывает (или планирует), наверное скоро будет много месту туда
Dr. Friedrich
Dr. Friedrich
Вчера гулял по улице и ни единой живой души не встретил.
Vasily
Морг нашел?
Igor
А еще JB в Прагу перевозит некоторых
Dr. Friedrich
Хотя в СПб я тоже в какие-то злачные места забирался, где нога человека не ступала. Но это было сложнее.
Dr. Friedrich
А еще JB в Прагу перевозит некоторых
А ещё можно в Мюнхен, например!
Анна
пусть бы в Минске открылись
Vasily
В Праге хорошо
Igor
А ещё можно в Мюнхен, например!
Точно, я перепутал (или нет). Где у них офис в европе?
Анна
Точно, я перепутал (или нет). Где у них офис в европе?
зарегистрированы в Праге, а разработка в Мюнхене?
Dr. Friedrich
Точно, я перепутал (или нет). Где у них офис в европе?
Не перепутал, офисы и там, и сям, и стограмм
Анна
живут же люди