ну хотя в котлине они не так реализованы, окей, там continuation передаётся аргументом. но сами по себе компиляторные корутины спокойно заменяются на языковые монады: вызов каждой суспенд функции это монадный map / flatMap.
шта? а причём тут монады? корутины это просто способ упросить написание асинхронщины и параллельщины. на монады вообще пох в большинстве языков и экосистем. как и на всю возню около них, чем-то напомминающую философскую в духе "а что же есть монада?", "в чём суть?", "ялвяется ли X монадой", "Y где-то трактовал это как ..."
ну хотя в котлине они не так реализованы, окей, там continuation передаётся аргументом. но сами по себе компиляторные корутины спокойно заменяются на языковые монады: вызов каждой суспенд функции это монадный map / flatMap.
Монада Future покрывает корутины так же, как do-нотация покрывает последовательность вычислений. То есть, если последовательность не имеет ветвлений, то всё ОК. Иначе - вешайся. Я уже не говорю о cancellation.
Монада Future покрывает корутины так же, как do-нотация покрывает последовательность вычислений. То есть, если последовательность не имеет ветвлений, то всё ОК. Иначе - вешайся. Я уже не говорю о cancellation.
вообще хочу предупредить, что не знаком с корутинами в скале и как они реализованы там. в моём представлении это можно сделать нормально, а с cancellation проблем быть не должно, ибо суспенд поинты более явные.
вообще хочу предупредить, что не знаком с корутинами в скале и как они реализованы там. в моём представлении это можно сделать нормально, а с cancellation проблем быть не должно, ибо суспенд поинты более явные.
вообще хочу предупредить, что не знаком с корутинами в скале и как они реализованы там. в моём представлении это можно сделать нормально, а с cancellation проблем быть не должно, ибо суспенд поинты более явные.
и ещё хочу предупредить, что я не говорю, что корутины хуже монад, просто у них есть много общего. особенно мне нравится как раз то, что я явно вижу где функция может не доработать.
шта? а причём тут монады? корутины это просто способ упросить написание асинхронщины и параллельщины. на монады вообще пох в большинстве языков и экосистем. как и на всю возню около них, чем-то напомминающую философскую в духе "а что же есть монада?", "в чём суть?", "ялвяется ли X монадой", "Y где-то трактовал это как ..."
В докладе, кстати, Виталий прям явно проговаривает ровно то же, что и ты в этом сообщении.
В докладе, кстати, Виталий прям явно проговаривает ровно то же, что и ты в этом сообщении.
мне иногда кажется, что Игорь специально создаёт образ Брагилевского как некого самоходного вентилятора. т.е. смотреть можно если хочется угарнуть или вписаться в срач, но если дело касается уже серьёзной продуктовой разработки, то можно смело выключать и не смотреть будто это какой-то тонкий план мести
В докладе, кстати, Виталий прям явно проговаривает ровно то же, что и ты в этом сообщении.
> корутины это просто способ упросить написание асинхронщины и параллельщины. Странно, только что посмотрел, но не помню такого 🤔 Там вообще про корутины было одно предложение.
> корутины это просто способ упросить написание асинхронщины и параллельщины. Странно, только что посмотрел, но не помню такого 🤔 Там вообще про корутины было одно предложение.
Да, сорри, я про "на монады вообще пох в большинстве языков и экосистем. как и на всю возню около них"
мне иногда кажется, что Игорь специально создаёт образ Брагилевского как некого самоходного вентилятора. т.е. смотреть можно если хочется угарнуть или вписаться в срач, но если дело касается уже серьёзной продуктовой разработки, то можно смело выключать и не смотреть будто это какой-то тонкий план мести
Брагилевский и сам работает как самоходный вентилятор порой, чего стоит одно его выступление на HolyJS