Size: a a a

Kotlin Community

2019 November 19

(

( in Kotlin Community
Если только брать клеисли и писать для них инстанц Arrow, но в самом эрроу такого не сделано, насколько я знаю
источник

I

Igor in Kotlin Community
Vladimir Petrakovich
Щас бы обмазаться arrow, чтобы await() не писать
Попрошу вас, что бы промежуточные лок переменные не заводить и имена им не придумывать)
источник

VP

Vladimir Petrakovich in Kotlin Community
Igor
Попрошу вас, что бы промежуточные лок переменные не заводить и имена им не придумывать)
Ну можно использовать сразу, без доп. переменных, как вариант
источник

(

( in Kotlin Community
Vladimir Petrakovich
Ну можно использовать сразу, без доп. переменных, как вариант
тогда оно не спараллелизуется
источник

(

( in Kotlin Community
если сразу .await() писать
источник

VP

Vladimir Petrakovich in Kotlin Community
(
тогда оно не спараллелизуется
Ну в смысле результат await() не выносить в отдельную переменную, но использовать после запуска
источник

VP

Vladimir Petrakovich in Kotlin Community
Есть конкретный пример, где это выглядит уродливо?
источник

(

( in Kotlin Community
Vladimir Petrakovich
Есть конкретный пример, где это выглядит уродливо?
вот бы пример, чтобы вообще понять, о чём вы говорите
источник

(

( in Kotlin Community
типа,
scope {
 val a = async { ... }.await()
 val b = async { ... }.await()
 ...
}

?
источник

VP

Vladimir Petrakovich in Kotlin Community
(
вот бы пример, чтобы вообще понять, о чём вы говорите
источник

(

( in Kotlin Community
Igor
Попрошу вас, что бы промежуточные лок переменные не заводить и имена им не придумывать)
а, кстати нет, наврал, есть в эрроу один тайпкласс для параллелизации сайд-эффектов, называется вроде Selective
источник

I

Igor in Kotlin Community
(
ну, тогда это классика, fun <A, B> combine(a: Deferred<A>, b: Deferred<B>): Pair<A, B> и так до 22
В принципе можно было бы и одним
fun <A, B> Deferred<A>.with(b: suspend () -> B): Deferred<Pair<A, B>> = TODO()


отделаться, но котлин не умеет во вложенный дестрактуринг лок. переменных.
Те val ((a, b), c) = … уже не получится
источник

(

( in Kotlin Community
Igor
В принципе можно было бы и одним
fun <A, B> Deferred<A>.with(b: suspend () -> B): Deferred<Pair<A, B>> = TODO()


отделаться, но котлин не умеет во вложенный дестрактуринг лок. переменных.
Те val ((a, b), c) = … уже не получится
рофлан бутылка, угадай, как реализован parMapN
источник

(

( in Kotlin Community
Igor
В принципе можно было бы и одним
fun <A, B> Deferred<A>.with(b: suspend () -> B): Deferred<Pair<A, B>> = TODO()


отделаться, но котлин не умеет во вложенный дестрактуринг лок. переменных.
Те val ((a, b), c) = … уже не получится
если ты подумал по функции на каждое n, то ты угадал
источник

I

Igor in Kotlin Community
(
рофлан бутылка, угадай, как реализован parMapN
источник

(

( in Kotlin Community
а, лол
источник

(

( in Kotlin Community
они определили 2 базовых кейса с n=2 и n=3 и всё остальное построили на них
источник

(

( in Kotlin Community
гениально
источник

AO

Alexey Otts in Kotlin Community
Классика
источник

AM

Andrew Mikhaylov in Kotlin Community
А я гоню или раньше в sdkma в поставке был Kotlin/Native, а сейчас его нет? Ни в snap (ну то есть есть, но древний), ни в sdkman.
источник