Size: a a a

Kotlin Community

2020 May 14

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Continuation, приостановки, стейт-машина есть
вот стейт машина - это уже деталь реализации
источник

BP

Bogdan Panchenko in Kotlin Community
Wikipedia
Продолжение (информатика)
Продолжение (англ. continuation) — абстрактное представление состояния программы в определённый момент, которое может быть сохранено и использовано для перехода в это состояние. Продолжения содержат всю информацию, чтобы продолжить выполнения программы с определённой точки; состояние глобальных переменных обычно не сохраняется, однако для функциональных языков это несущественно (например, выборочное сохранение и восстановление значений глобальных объектов в Scheme достигается отдельным механизмом dynamic-wind). Продолжения похожи на goto Бейсика или макросы setjmp и longjmp в Си, так как также позволяют перейти в любое место программы. Но продолжения, в отличие от goto, позволяют перейти только в участок программы с определённым состоянием, которое должно быть сохранено заранее, в то время, как goto позволяет перейти в участок программы с неинициализированными переменными.
источник

BP

Bogdan Panchenko in Kotlin Community
ну в принципе можно так сказать
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
вот стейт машина - это уже деталь реализации
Это да. Но с другой стороны тогда можно сказать, что sequence возвращает обычный итератор, а как он реализован - это детали.
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Это да. Но с другой стороны тогда можно сказать, что sequence возвращает обычный итератор, а как он реализован - это детали.
Я примерно это и хотел исходно сказать - про итератор.
источник

BP

Bogdan Panchenko in Kotlin Community
Bogdan Panchenko
ну в принципе можно так сказать
хотя я не согласен, это один из примитивов корунтины, но тут уже стоит спрашивать Елизарова
источник

V

Vladimir in Kotlin Community
Quantum Harmonizer
Oh, it's retarded.
Зато компилируется быстро.
а где у нас нормальные дженерики?
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir
а где у нас нормальные дженерики?
Java, Kotlin, Scala, Rust
источник

IO

Iaroslav Orlov in Kotlin Community
Vladimir
а где у нас нормальные дженерики?
c#
источник

AN

Alexander Nozik in Kotlin Community
Они там ничем не нормальнее чем в JVM
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Они там ничем не нормальнее чем в JVM
нууу, они там reified, но это не про нормальность, просто другой подход
источник

V

Vladimir in Kotlin Community
дженерики с type erasure нормальными называть? :)
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
нууу, они там reified, но это не про нормальность, просто другой подход
Они там опционально reified. В JVM можно сделать то же самое передачей класса. Оно нужно реально редко и в этих случаях не проблема и класс-тэг передать
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir
дженерики с type erasure нормальными называть? :)
Да, конечно.
источник

IO

Iaroslav Orlov in Kotlin Community
Alexander Nozik
Они там опционально reified. В JVM можно сделать то же самое передачей класса. Оно нужно реально редко и в этих случаях не проблема и класс-тэг передать
зато примитивы можно спокойно хранить
источник

AN

Alexander Nozik in Kotlin Community
Vladimir
дженерики с type erasure нормальными называть? :)
Ну где, скажите пожалуйста, вам мешает type erasure? Вы модульные либы пишите?
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Они там опционально reified. В JVM можно сделать то же самое передачей класса. Оно нужно реально редко и в этих случаях не проблема и класс-тэг передать
Никогда никуда не надо передавать класс-литерал.
Это всегда свидетельствует о наличии бага.
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Orlov
зато примитивы можно спокойно хранить
Вот я кстати не знаю, надо спеку смотреть. Хранить то и тут можно, вопрос будут ли они бокситься
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Вот я кстати не знаю, надо спеку смотреть. Хранить то и тут можно, вопрос будут ли они бокситься
там реально можно ArrayList<int>
источник

V

Vladimir in Kotlin Community
я как раз позавчера словил баг в котлиновском компиляторе
источник