Ayrat
Такой типой случай тоже покрыт без хкт
Vasily
типовой случай
Это такое где, простите?
Αλεχ
Это такое где, простите?
ну вот у меня в крудах такое бывает
Vasily
ну вот у меня в крудах такое бывает
А сценарий какой использования?
Ayrat
Task.WhenAll банальный это и делает
Vasily
Просто я себе в голове не могу представить
Aleksandr
Task.WhenAll банальный это и делает
У меня на прошлой неделе в сишорпе было
Vasily
Единственное, что могу представить - забор данных из разных источников
Vasily
Ну и там банально Task.WhenAll порешает
Αλεχ
Task.WhenAll банальный это и делает
Он не совсем это делает
Aleksandr
Внутри task.whenall удачные результаты в ConcurrentQueue запихивал
Vasily
А дальше partition
Αλεχ
типичный пример, как мне сделать foo.Where(x=>x.RemoteCallAsync()
Vasily
Или фильтрация
Ayrat
принцип чего?
Ты вбросил что без ХКТ жизни нет, привёл банальный пример, который решается Task Seq -> Seq Task При этом других реальных примеров необходимости не привёл
Αλεχ
var items = await Task.WhenAll(users.Select(x => (x, x.CanVisit(pageId)); return items.Where((_, b) => b);
Αλεχ
руками это выглядит как-то так
Αλεχ
паршиво
Aleksandr
Внутри task.whenall удачные результаты в ConcurrentQueue запихивал
А в catch блоке по нему бежал и откатывал результат
Αλεχ
плюс не получится сагрегировать эксепшоны
Αλεχ
первый который упадет уронит await
Ayrat
А хкт тут при чём?)
Ayrat
Ну имплементация такая. Могла быть другая
Αλεχ
с хкт можно было бы сделать sequence и он бы сам все это развернул
Андрей
а тут надо ручками - страдай! ))
Ayrat
с хкт можно было бы сделать sequence и он бы сам все это развернул
Ну имплементация task.WhenAll может хромать, да. Но при чём здесь хкт-то?)))
Ayrat
ещё раз - что такого критичного, если мы не можем лист опшнов в опшн листов преобразовывать?
Aleksandr
Уверен в фшарпе достаточно один раз придумать хорошую модель обработки подобных траблов, а потом написать под это дело dsl
Ayrat
99% таких преобразований - полная дичь
Αλεχ
без траверсабл не сделать sequence
Αλεχ
без sequence остается писать руками все
Ayrat
Фолдабл Мейби в Мейби Фолдабл
Ayrat
ОКЕЙ
Ayrat
Я кстати за ХКТ. Вещь хорошая и у меня был кейс, когда без него я прям плакал, но твои примеры - детский лепет
A64m
в дотнете без hkt в принципе контейнерную библиотеку нормально не сделать вернее нормально с точки зрения более позднего фп подхода. пока фп претензий не было, не-хкт иерархией интерфейсов вполне можно было пользоваться меняя что-то на месте. т.е. мы через интерфейс ICollection или IList что-то теребим в коллекции, а ссылка -то вот она, того же типа осталась. потом начались линкострадания и сишарп сразу уперся в ограничения дженериков, потому что теперь то надо результат возвращать. а линковые функции в основном возвращают IEnumerable, стирая статическую информацию о типе коллекции. ее только динамически можно попробовать кастануть, что внутри линк-ту-обджектс методов обычно и делают, чтоб как-то воспользоваться дополнительной информацией о коллекции для более быстрой работы с ней. т.е. досвидания статика, привет динамический глюкодром если надо что-то возращать, а не изменять на месте - дженерики без хкт уже не катят, все фп потуги в языке без хкт или похожего инструментария ничем хорошим не закончатся.
A64m
т.е. любая контейнераная библиотека с иерархией контейнерных интерфейсов будет костыльной, можно нормально сделать только контейнерную библиотеку с конкретным типом итератора/списка, либо сверточную, типоа пакета foldl или явовых стримов, но это довольно ограниченные, маломощные и устаревшие подходы
A64m
хотя это эфшарповый чат, надо другой пример
A64m
типа пакета Streams или как он там
J. A. R. Kotlien
https://habr.com/ru/company/ruvds/blog/462483/#comment_20474225 Зарекламировал F# тут.
Shub
Звучит как ебанина, простите за мой французский
ты просто не думаешь, как думают эти люди. у тебя в голове разворачивается целая вселенная: а какая реально проблема решается? а какие краевые случаи? сроки? сколько людей пишет, кто эти люди, я их знаю? я им верю? какой срок жизни у этого проекта, как будут меняться требования? и только потом ты начинаешь думать про реализацию. как думают эти люди: о, смотрите, List<Task<T>>. сделаю-ка я из него Task<List<T>>
x
господа линуксобояре, а как в вашем мире перенести мои пекеджи в другой дистрибутив? поставил вместо убунту манджаро, а тут внезапно другой пакадж менеджер
x
неужеле руками?
x
*мои пекеджи == пекеджи, которые я ставил в убунте
x
браузеры, телеграмы, вскоде - такое
Romɑn
типовой случай
List.exist Option.IsNone
Romɑn
в дотнете без hkt в принципе контейнерную библиотеку нормально не сделать вернее нормально с точки зрения более позднего фп подхода. пока фп претензий не было, не-хкт иерархией интерфейсов вполне можно было пользоваться меняя что-то на месте. т.е. мы через интерфейс ICollection или IList что-то теребим в коллекции, а ссылка -то вот она, того же типа осталась. потом начались линкострадания и сишарп сразу уперся в ограничения дженериков, потому что теперь то надо результат возвращать. а линковые функции в основном возвращают IEnumerable, стирая статическую информацию о типе коллекции. ее только динамически можно попробовать кастануть, что внутри линк-ту-обджектс методов обычно и делают, чтоб как-то воспользоваться дополнительной информацией о коллекции для более быстрой работы с ней. т.е. досвидания статика, привет динамический глюкодром если надо что-то возращать, а не изменять на месте - дженерики без хкт уже не катят, все фп потуги в языке без хкт или похожего инструментария ничем хорошим не закончатся.
Пропозал есть, ждем. Сами даже если пулреквест оттестирвоанный сделаем, не примут его. Можем конечно свой дотнет делать, но не тот путь же ну
Romɑn
забавно
Диёр
щас тимлид бугуртить начал как некрасиво зп обсуждать ууу сцуко боярам мешают зп удерживать
Romɑn
https://twitter.com/vronnie911/status/1158387373211734016?s=09
Hog
мог бы haskell на F# перерисовать :)
Диёр
мне интересно если бы вместо ооп захайпили фп, то сейчас бы тоже были хипстерские чаты, где люди говорили бы: "ох сидят монадами обмазываются в своём хаскеле когда в жабке пару классов описал и нормально"?
Ilya
История не знает сослагательного наклонения.
Диёр
Ну это то понятно, но всё равно интересно
Диёр
ну он начал говорить что начинают бегать просить повышения один за другим, а у проекта бюджет и т.п.
Диёр
Вот как раз в сегодняшнем жава коде абстрактная фабрика была
абстрактная фабрика-синглтон абстрактных фабрик-синглтонов
Igor
Да, там одна фабрика, возвращает другую фабрику, а та билдер
Диёр
Кажется, это проблема правильного распределения бюджета :)
Вне зависимости от источника проблем это вредная хрень, как мне кажется, когда вместо открытого общения идёт речь по типу "а можно без этого? а то это так некрасиво и некультурно"
Диёр
Я не знаю сколько начальников идёт на эту хрень когда ты получаешь привилегии и тебя просят никому об этом не говорить, но от этого прям тошно. Даже в гребаном детском садике с этим сталкивался.
Aleksandr
AbstractFactoryBuilderBuilderBase
Danil
Вот как раз в сегодняшнем жава коде абстрактная фабрика была
Недавно открывал жабу, даже фабричный метод с трудом даётся
Anonymous
Ilya
Було
Диёр
А это его бюджет что ли?
Нет, но если челики начнут массово буянить на тему "а почему он делает меньше и получает больше", а он сам не сможет эту ситуацию разобрать и разработчики начнут сливаться или менять планы на бюджет, то я думаю ему прилетит
Danil
* My currying
Anatoly
Хз, больше похоже на типичное советское желание потерпеть и ублажить уже свое начальство
мне так нравятся подобные пассажи, сразу видно гигантский опыт рабоыт в зарубежных компаниях
Ilya
Ну причины могут быть разные, справедливости ради :)
A64m
гиперфиксация спасла от страшной смерти в горящем доме
A64m
понятно, что такая задумка была но выглядит это по другому шел медведь по лесу, но отвлекся и неувидел что машина горит, не сел в нее и не сгорел
Диёр
A64m
А ещё способствует увеличению глаз
это не так важно, как не подохнуть