Anonymous
я просто показываю
Filipp
а ок
Vladimir
акторы это как футуры в евентлупе?
Мерль
Акторы - это акторы Объекты, которые асинхронно обмениваются сообщениями
Oleg
акторы это active objects
да хватит уже, вон Мерль абсолютно точное определение дал
Loo
Vladimir
Акторы - это акторы Объекты, которые асинхронно обмениваются сообщениями
А кто их юзает? У футуров например есть каналы, не то же самое?
KlonD90
ну вот да с акторами как-то проще выстраивать во всяком случае мне систему.
Oleg
А кто их юзает? У футуров например есть каналы, не то же самое?
ченнел - это более низкоуровневая концепция. Могу рассказать за абстракции в скаловской акке, если надо
Мерль
А кто их юзает? У футуров например есть каналы, не то же самое?
Каналы к футурам вообще никакого отношения не имеют Есть три подхода к асинхронности: акторы (erlang, Scala), футуры (Rust, js, cpp вот только что, Python ), CSP (go, ocaml)
Oleg
и коллбеки
Oleg
scala юзает все пять
Мерль
стримы
Да, но это по сути csp в упрощённом виде
Мерль
scala юзает все пять
На самом деле во всех языках где хоть как-то используется асинхронность, так или иначе встречаются все сорта, ага Есть даже акторы для cpp
KlonD90
ну вообщем-то акторы не исключают футуры и csp. Это скорее способ структуризации и инкапсуляции поведения
KlonD90
но для акторов конечно нужно что-то типа зеленых тредов
Loyd
Это модель, хоть через процессы делай
Oleg
даже в усложнённом иногда
KlonD90
Не нужно
ну если их масштабировать
Мерль
Зелёные треды - это не про масштабирование >_>
Мерль
совсем нет
Как по мне прям очень похоже И сделано красиво
Oleg
Как по мне прям очень похоже И сделано красиво
технически ни один шаг стрима не гарантирует, что у него внутри sequential process
Oleg
Он лишь говорит, что у него есть набор типизированных инпутов и аутпутов
Oleg
И снабжён комбинаторами для связки этой фигни
Oleg
Поэтому шаг стрима может запускаться распаралеленно и распределённо
Oleg
В отличие от единицы CSP
Oleg
Но в узком смысле, когда рассматривается алгебра над Source (Stream) - ами или Flow , то да, выглядит похоже
Мерль
В отличие от единицы CSP
Это в хоаровском варианте csp исключительно с синхронными каналами и на одном процесе на шаг Мировая мысль давно шагнула далеко вперед и теперь csp - это набор асинхронных процессов, (параллельность необязательна), связанных строго типизированными каналами
Мерль
Ну короче близко к акторам уже
Alex
тогда говорите сразу process algebra
Oleg
Это в хоаровском варианте csp исключительно с синхронными каналами и на одном процесе на шаг Мировая мысль давно шагнула далеко вперед и теперь csp - это набор асинхронных процессов, (параллельность необязательна), связанных строго типизированными каналами
ну ещё раз в стримах инпут или аутпут - это совершенно не обязательно один ченнел Это может быть много независимых ченнелов одного типа на разных машинах И над каждым шагом совсем не обязательно стоит логика последовательных (я не говорил про синхронные) действий
Oleg
Ну дык и в csp там никак in-out каналы не ограничиваются, разве нет?
ченнел сам по себе работает как очередь А в некоторых стримах - это очень условные метки для композиции. Совсем не обязательно, что один инпут будет получать данные из одной очереди. Один инпут - это может быть сотня независимых очередей на десятке машин
Oleg
Но наверное, наш спор приведёт к пониманию того, что граница мажду этими штуками потихоньку размываются. И CSP традиционно называют что-то, что пишется в стиле fetch - yield А стримы - что-то, что категорно или типа того композится
Alex
стримы же менее мощны в общем случае
Alex
(a)cyclic dataflow типа
Alex
ну и футурка это ж частный случай стрима
Alex
а колбеки частный случай продолжений :)
Маjко
Коллбеки -- деталь реализации скорее
でゲソ
Раз пошла на то пляска есть у кого годное пояснение разницы всех этих подходов?
Alex
https://chymyst.github.io/chymyst-core/concurrency.html
Filipp
как понять почему рлс в вскоде не работает? он пишет логи куда-нибудь?
Filipp
Volodymyr
Filipp
спасибо
Filipp
я включил в настройках вывод рлс стдерр и оно само заработало
Berkus
а я подключил rust-rls к Sublime через LSP и выкинул vscode :)
Filipp
70 бачей, недурно
Berkus
они отбились еще несколько лет назад, так что недурно индид
Маjко
а я подключил rust-rls к Sublime через LSP и выкинул vscode :)
rls совместим с генерик LSP клиентами?
Маjко
Отлично)
Маjко
Тогда и к вскод по идее можно без специального плагина для раста подключить
Berkus
меня прям очень порадовало
Маjко
Кто-нибудь в него контрибутил? Нужен человек для задавания ему вопросов: у меня дипломная по реализации Language Server, было бы круто найти кого-нибудь шарящего
Alex
посмотреть авторов наибольшего числа комитов и отправить им емейлы? )
Berkus
да по идее можно авторов rust-rls попинать - они вроде на GSoC засветились?
Маjко
посмотреть авторов наибольшего числа комитов и отправить им емейлы? )
Ну это то понятно, я бы предпочел доебаться в свободной форме до членов чатика)
Filipp
еще вопрос: как в вскод убрать сообщения от rustc? они дублируют сообщения от рлс и не обновляются пока билд еще раз не запустишь
Filipp
Berkus
в ридми по-моему про это было
Berkus
открой таб с экстеншенами и ткни в растовский
Anton
как понять почему рлс в вскоде не работает? он пишет логи куда-нибудь?
просто внутри самого vscode перезапускаешь rls и все
Filipp
это куда тыкать?
Anton
открываешь панель комманд и пишешь rls и там будет restart
Anton
cmd + shift + p
Anton
и там вводишь
Filipp
Filipp
Filipp
нема
Anton
хмм походу я сам чото добавлял
Anton
на крайняк перезапусти vscode
Anton
так точно сработает