Size: a a a

Rude P[rogramming]Offtop

2021 June 15

I

Igor in Rude P[rogramming]Offtop
Да даже в пропозале один раз упоминается только.

> The compiler is responsible for translating an asynchronous function into an appropriate set of closures and state machines.

Типа деталь имплементации, о которой не нужно знать?..
источник

KD

Konstantin Dovnar in Rude P[rogramming]Offtop
Я могу представить, что в каких-то частных случаях эти функции не будут грязными (допустим, если держать ссылку на другую чистую функцию), но само по себе удержание ссылки на нечто внешнее почти заведомо является грязью.
источник

KD

Konstantin Dovnar in Rude P[rogramming]Offtop
И вот это a будет как-то модифицироваться внутри тела foo, от чего последняя лямбда уже недетерменирована.
источник

VP

Vladimir Petrakovich in Rude P[rogramming]Offtop
Ну смотри: любой функции доступно глобальное состояние.
От этого же они не становятся все грязными?
источник

KD

Konstantin Dovnar in Rude P[rogramming]Offtop
Иметь доступ и использовать — разные вещи всё-таки.
источник
2021 June 16

VP

Vladimir Petrakovich in Rude P[rogramming]Offtop
Ну так если не использовать что попало, а только неизменяемые переменные, то всё будет ок
источник

I

Igor in Rude P[rogramming]Offtop
Предлагаешь выписать Haskell из чистых языков?
источник

KD

Konstantin Dovnar in Rude P[rogramming]Offtop
Что лишь подтверждает, что чистыми они останутся лишь в каких-то частных случаях.
источник

KD

Konstantin Dovnar in Rude P[rogramming]Offtop
Да. И добавлять не следовало туда.
В наши дни кто попало чистым считается, жуть...
источник

VP

Vladimir Petrakovich in Rude P[rogramming]Offtop
Ну так можно про любую функцию сказать, не?
источник

KD

Konstantin Dovnar in Rude P[rogramming]Offtop
Про ту, что из вне использует лишь аргументы — нет.
источник

(

( in Rude P[rogramming]Offtop
fun incAllBy(ints: List<Int>, p: Int): List<Int> = ints.map { it + p }

грязная?
источник

I

Igor in Rude P[rogramming]Offtop
У меня кстати в боте на purescript тоже в одном месте было замыкание
источник

VP

Vladimir Petrakovich in Rude P[rogramming]Offtop
На таких функциях далеко не уедешь
источник

KD

Konstantin Dovnar in Rude P[rogramming]Offtop
Можно в оба поля перевернуть.
Лист в нашем прекрасном котлине мы можем и из вне изменить => грязь.

Но если теоретически представить, что у нас действительно неизменяемые коллекции, то вполне себе годится в клан чистоты.
источник

KD

Konstantin Dovnar in Rude P[rogramming]Offtop
Да. Обратного я и не утверждал.
источник

VP

Vladimir Petrakovich in Rude P[rogramming]Offtop
Да, но ты так пишешь, будто сам захват окружения - это грязь
источник

KD

Konstantin Dovnar in Rude P[rogramming]Offtop
Ты меня не так понял.
Моя мысль в том, что захват окружения — опасная вещь и легко приводит к грязи.
Но не грязь сама по себе.
источник

(

( in Rude P[rogramming]Offtop
как изменить лист во время выполнения этой функции?
источник

(

( in Rude P[rogramming]Offtop
как захват окружения приведет к грязи в каком-нибудь х-ле?
источник