Igor
Ну лично мне то пофиг, я же на шарпе не пишу.
Но во всех современных языках, уже добавили в стандартную библиотеку, вместе с комбинаторами и трансформерами аля Task->Task<Result<>>
Вангую что в 9.X тоже затащит.
Ilya
Ну вот в C++ их как-то интересно хотят завести, чтобы zero-overhead и кидаться можно было value-типами. Но я пока не очень разобрался.
Igor
Anatoly
https://habr.com/ru/post/468017/
Doge
Адский хак
Vasily
Anonymous
Так чтоб надо было полчаса код читать, чтобы понять что это вообще такое.
Ilya
Там дальше ещё ссылка на ридер есть.
Anonymous
Vasily
Ну вот очередной пидорас
Vasily
А потом фп маргинализируют из-за таких вот
Ilya
https://habr.com/ru/post/461371/
Personally, I think that the “Service Locator” is just as anti-pattern as the “dependency injection” itself.
Vasily
Даже открывать не буду
Vasily
Ilya
На проде мейби он и не предлагает использовать. А вот ридер предлагает)
Vasily
Пидор
Anonymous
Doge
Как из прода сделать урода.
Да я не думаю, что кто-нибудь такое всерьез на проде юзать будет.
Это же хтонь лавкрафтианского уровня
Doge
Это прикольно сделать один раз, посмеяться, что и так можно, но уровень хацкерства здесь слишком велик для реального проекта.
Vasily
Ilya
Тут надо Романа позвать, наверное.
Vasily
Можно и дедушку
Doge
Vasily
И Айрата
Anonymous
x
А поясните в двух словах, чем это круче selectMany и кваери синтакса?
Ilya
Тогда контекстов неявных не будет. Отвратительно.
x
Просто мне кажется я это гдето уже видел
x
То ли у рикардо торелла толи ещё где 🤔
Yurii
Yurii
Yurii
но конкретно тот проект давно писался, там не было еще
Диёр
Пыха кстати ругается если функция возвращает или принимает не то, что ты написал в декларации типов, в том числе на null ругается. Я аж удивлён был.
Viacheslav
Диёр
Нет, в пыхе ты максимум что задекларировать можешь это сигнатуру и то без всяких там генериков или ещё чего-нибудь
Диёр
А в декларации класса шоб пхпшторм знал хоть какие поля у всей этой магии руками в комментах пишешь проперти и методы всякие
Aleksandr
Aleksandr
У нас не было каррирования - мы выживали как могли
Aleksandr
Igor
https://i.gyazo.com/54d99916fd055e4781ad01e914144755.png
Как же оффигено)
Если так пойдет, то к 4.0 может сделают норм ML язык
Andrew
Andrew
Пайтон?
Doge
Doge
Который scala 3
Igor
и что он там придумал?
Igor
Igor
Doge
Плюс оно кучу возможностей для оптимизации кода открывает при правильном использовании.
У меня даже в расте немного его есть и оно ощутимо улучшает кодген в итоге
Igor
Ну нахрен, это не суть ФП.
Дайте просто побольше иммтабельных коллекций
Doge
Doge
А то до сих пор бы так без дженериков и сидели
Doge
А ФП без систем типов - штука медленная и относительно бесмысленная, т.к. компилятор ничего приличного из него сделать не сможет
Igor
Doge
Doge
Чтоб работал тулинг, анализ кода и т.д. и т.п.
Doge
К тому же сильно параметричный код и писать ощутимо легче, т.к. сильно меньше степеней свободы оказывается
Doge
(За счёт чего тот же хугл работает прекрасно на практике)
Igor
Igor
Doge
Ты опять-таки берешь в пример всяких экстремалов и любителей экзотики (как чувак c Maybe async/await из недавнего) и распространяешь это предсталвение на весь подход
Doge
Хотя это вполне разумный инструмент, т.е. те же associated types в расте никого не пугают, все ими пользуются, а это по сути type families, который вполне настоящий type level programming
AlexB
Igor
Anonymous
Doge
Doge
По любому формальному определению, это чистая функция