Size: a a a

Programming Offtop

2020 July 28

I

Igor in Programming Offtop
чет по моему мы все о разном, я короче суть потерял)
источник

VP

Vladimir Petrakovich in Programming Offtop
Кирилл Романенко
Распараллеливание чистых функций?
А как связано распараллеливание и suspend?
источник

I

Ilmir in Programming Offtop
Кирилл Романенко
Распараллеливание чистых функций?
Я сдаюсь. Я уже по пятому кругу пошёл. Не говоря уже о том, что suspend - это не про параллелку, а про асинхронку.
источник

КР

Кирилл Романенко... in Programming Offtop
Igor
чет по моему мы все о разном, я короче суть потерял)
Он говорит, что для обозначения грязи можно повесить на функцию suspend.
источник

КР

Кирилл Романенко... in Programming Offtop
Ilmir
Я сдаюсь. Я уже по пятому кругу пошёл. Не говоря уже о том, что suspend - это не про параллелку, а про асинхронку.
Каюсь, имел ввиду асинхронность.
источник

КР

Кирилл Романенко... in Programming Offtop
Постоянно оговариваюсь, хоть и понимаю разницу.
источник

I

Igor in Programming Offtop
Кирилл Романенко
Он говорит, что для обозначения грязи можно повесить на функцию suspend.
звучит логично 🤔
а в языках без монад, делить pure/impure можно с помощью специальных аннотаций (типа suspend)

У Дегоза про это было https://degoes.net/articles/no-effect-tracking
(там правда странные выводы и реклама zio в конце)
источник

КР

Кирилл Романенко... in Programming Offtop
Igor
звучит логично 🤔
а в языках без монад, делить pure/impure можно с помощью специальных аннотаций (типа suspend)

У Дегоза про это было https://degoes.net/articles/no-effect-tracking
(там правда странные выводы и реклама zio в конце)
А как же, например, префы? Искусственно оборачивать в with context или вешать suppress аннотацию, что suspend лишний?
источник

КР

Кирилл Романенко... in Programming Offtop
Всё равно считаю, что IO -> suspend это ошибка, т.к. про разное.
источник

VP

Vladimir Petrakovich in Programming Offtop
Кирилл Романенко
Всё равно считаю, что IO -> suspend это ошибка, т.к. про разное.
Это настолько же ошибка, насколько ошибка весь Arrow, не больше
источник

КР

Кирилл Романенко... in Programming Offtop
Vladimir Petrakovich
Это настолько же ошибка, насколько ошибка весь Arrow, не больше
Ух, набросил так набросил.☺️
источник

VP

Vladimir Petrakovich in Programming Offtop
Ну если уж использовать Arrow, то конкретно эта идея очень даже ничего
источник

I

Ilmir in Programming Offtop
Напишу последний раз и сфорвардю в сохранёнки. У котлина явная асинхронность и неявная синхронность, в отличие от async/await языков, типа питона, шарпа или джыэса.. Если надо что-то запустить асинхронно, надо явно запустить это через launch/async. То есть, асинхронщина явно видна в коде и нет никакого смешивания IO и асинхронщины.
Если вам уж сильно хочется пометить что-то через IO, используйте ресиверы, как у нас в kotlinx.coroutines используется CoroutineScope.
То есть, также, как в корутинах есть идиома CoroutineScope.foo() != suspend foo, так и тут можно написать что-то типа suspend IO.foo().
Не могу поверить, что котлин != скала так туго доходит. Почему-то котлин != джава дошло почти сразу.
источник

I

Igor in Programming Offtop
Кирилл Романенко
А как же, например, префы? Искусственно оборачивать в with context или вешать suppress аннотацию, что suspend лишний?
Ну учитывая что там возможно чтение с диска, может и стоит)
источник

КР

Кирилл Романенко... in Programming Offtop
Igor
Ну учитывая что там возможно чтение с диска, может и стоит)
Да, только оно в другом потоке + есть кэш, suspend там лишний.)
источник

I

Igor in Programming Offtop
первый раз точно синхронно с диска считается
источник

КР

Кирилл Романенко... in Programming Offtop
Igor
первый раз точно синхронно с диска считается
Да
источник

I

Igor in Programming Offtop
Но в принципе в НЕ чистых языках бесполезно размечать pure/impure
Ты обычно это всегда и так знаешь ( см статю Дегоза выше )
источник

I

Ilmir in Programming Offtop
Кирилл Романенко
Всё равно считаю, что IO -> suspend это ошибка, т.к. про разное.
У вас ошибка в постулате suspend = async. А это не так.
источник

(

( in Programming Offtop
О кек, спор про идиомы без меня
источник