169 похожих чатов

Здравствуйте. Правильно ли я понимаю, что пока что в Scala не

придумали stackful корутины (файберы) т.к. ждут project loom? (ну и stackless корутин вроде тоже нет, кажется)

Правильно ли я понимаю, что писать без callback'ов пока что можно только с пом. asnyc и await (которые макросы; из какой-то библиотеки на github)?

И вообще идиоматично ли писать в императивном стиле (напр. как в Go с горутинами, каналами и select)?

17 ответов

22 просмотра

про идиоматичность это предмет дебат, но вообще декларативно стараются Фьючи есть из встроенных абстракций, коллбеки не нужны для них (ну если хочется всегда можно офк) Хочется файберов => zio, cats-effects по поводу лум / кетс / зиво можно погуглить, но вот тут относительно свежий камент https://www.reddit.com/r/scala/comments/sa927v/how_will_looms_fibers_change_the_cats_effect_and/htsoydn/?utm_source=reddit&utm_medium=web2x&context=3

Kirill-Grachev Автор вопроса
Grigory Pomadchin
про идиоматичность это предмет дебат, но вообще де...

Понял, спасибо. Ну, коллбеки в данном случае - это лямбды в andThen. Про cats-effects и zio не знал. Спасибо.

Kirill Grachev
Понял, спасибо. Ну, коллбеки в данном случае - эт...

andThen это и есть сиквеншал версия onComplete, они не так часто нужны 🤷‍♂️ скорее всего пригодятся map / flatMap

async await это самое худшее что когда либо пытались засунуть в скалу зс все время её существования, и хорошо что не засунули. И да, не коллбеки а лямбды.

Woof Собач
async await это самое худшее что когда либо пытали...

Чем плох асинк/эвейт? На мой взгляд куда понятнее чем for-нотация. Я бы с удовольствием затащил бы к себе, если бы была хоть одна взрослая, поддерживаемая либа.

λesha ƒomkin
Чем плох асинк/эвейт? На мой взгляд куда понятнее ...

тем что дешугарится в непрозрачные макро/рантайм штуки

Tachi Войцишевский
тем что дешугарится в непрозрачные макро/рантайм ш...

Это смотря как либа будет написана. Ни кто не мешает написать дешугаринг в мап/флатмап, на сколько я понимаю. Понятное дело с ограничениями, но тем не менее.

Tachi Войцишевский
тем что дешугарится в непрозрачные макро/рантайм ш...

ну во-первых – как Леша сказал оно может и во флатмаппы развернуться, во-вторых — а что собственно плохого в непрозрачных макро штуках? ты их используешь каждый день и не особо страдаешь, в других языках с этим проблем тоже нет

Tachi Войцишевский
Где использую? Кодеки вывести?

Линзы? Бэттер монадик фор? Шэплес (для кодеков).

λesha ƒomkin
Чем плох асинк/эвейт? На мой взгляд куда понятнее ...

1) самый блевотный на свете синтакс для асинка, который как то ниоч сочетается код как значение 2) если фор кастится понятным образом и имеет функцию превращать вложенную структуру в плоскую, то задач асинка запутывать читателя

Про стеклесс, думаю уже все всё рассказали, включая scala-async. А стекфул полноценно невозможно реализовать без поддержки рантайма, да. Но как квази-стекфул в zio и cats-effect есть свой специальный трейсинг

Kirill Grachev
Понял. Спасибо.

Т.е. с неблокирующим ожиданием всё хорошо, собственно скала потому и привлекала народ в течение истории, что легковесная конкаренси была в ней в хорошем состоянии в последние лет 12

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта