Size: a a a

2020 December 16

VO

Vyacheslav Olkhovche... in Modern::Perl
Warstone
Промисы. Я уже писал тут. Если тебе надо сделать обработку чуть сложнее чем просто ответ от сервера, то промисы превращаются в ад.
а если сразу на FSM переходить?
источник

VG

Vadim Goncharov in Modern::Perl
Vyacheslav Olkhovchenkov
а если сразу на FSM переходить?
это лучшее, что я видел в ДМР, да
источник

W

Warstone in Modern::Perl
Vyacheslav Olkhovchenkov
а если сразу на FSM переходить?
А так в шарпах оно так и делается... a/a в конечный автомат компилится )))
источник

VG

Vadim Goncharov in Modern::Perl
https://www.youtube.com/watch?v=GEykpn6IgAA они делали об этом доклад
источник

b

basiliscos in Modern::Perl
Warstone
Да я верю что не течет и т.д. Я исключительно про читабельность сейчас.
sub factorial {
   my $last = shift;
   my $f = Future->new->done(1);
   for my $i (2 .. $last) {
       $f = $f->then(sub { Future->new->done(shift->result * $i) });
   }
   return $f;
}

my $f = factorial(100)
say $f->get; # под капотом не крутит луп, т.к. все фьючи уже выполнены.

вот приблизительно как факториал вычисляется. Забудем про эффективность, конечно. Важно то, что сихронный код можно тоже  вполне норм. в асинк цепочку встроить, включая then/else ветки.
источник

VG

Vadim Goncharov in Modern::Perl
и довольно приятный интерфейс описания автомата, в отличие от всего, что попадалось на CPAN
источник

W

Warstone in Modern::Perl
basiliscos
sub factorial {
   my $last = shift;
   my $f = Future->new->done(1);
   for my $i (2 .. $last) {
       $f = $f->then(sub { Future->new->done(shift->result * $i) });
   }
   return $f;
}

my $f = factorial(100)
say $f->get; # под капотом не крутит луп, т.к. все фьючи уже выполнены.

вот приблизительно как факториал вычисляется. Забудем про эффективность, конечно. Важно то, что сихронный код можно тоже  вполне норм. в асинк цепочку встроить, включая then/else ветки.
Это вообще фича a/a из коробки должна быть
источник

b

basiliscos in Modern::Perl
лично как мне, так с введением a/a теряется нагляность, в отличие от явного использования промисов (в перле). Но возможно это я такой старпёр )
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
Vadim Goncharov
это лучшее, что я видел в ДМР, да
wtf ДМР?
источник

VG

Vadim Goncharov in Modern::Perl
вон линк на ютуб, Деньги.Mail.Ru
источник

W

Warstone in Modern::Perl
Ну a/a в Перле я недостаточно щупал чтобы иметь свое мнение.
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
ага, посмотрю.
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
а так я предлагаю аполргетам a/a и прочего написать tcp на их технологии. что-то мне кажется это будет совершенно не отлаживаемый монстр.
источник

VG

Vadim Goncharov in Modern::Perl
ыыы
источник

VG

Vadim Goncharov in Modern::Perl
ты жесток
источник

b

basiliscos in Modern::Perl
Vyacheslav Olkhovchenkov
а так я предлагаю аполргетам a/a и прочего написать tcp на их технологии. что-то мне кажется это будет совершенно не отлаживаемый монстр.
это не имеет отношения к a/a. Это проблема любого асинк-кода.
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
на fsm это приемлимо, хотя асинк во все поля
источник

SZ

Sergey Zhmylove in Modern::Perl
Vyacheslav Olkhovchenkov
а так я предлагаю аполргетам a/a и прочего написать tcp на их технологии. что-то мне кажется это будет совершенно не отлаживаемый монстр.
А зачем?
источник

a

allter in Modern::Perl
Vyacheslav Olkhovchenkov
а так я предлагаю аполргетам a/a и прочего написать tcp на их технологии. что-то мне кажется это будет совершенно не отлаживаемый монстр.
Я выше упомянул, что это можно написать, но кроме алгебры промисов придётся использовать ещё кучу вещей для ресурсобезопасности. В любом случае, на голом AnyEvent это вообще нереально сделать так, что бы это было понятно/отлаживаемо.

Ну а для нормальной композабельности, придётся всё-таки переходить на нормальные монадки IO/Stream (которые в сути своей - функциональные FSM), и мириться с тем, что в процессе их работы они делают кучу аллокаций. Т.е. выбор - либо производительность, промисы и страдания с отладкой и пониманием этого, либо чёткое понимание, но куча вещей в хипе.
источник

SZ

Sergey Zhmylove in Modern::Perl
Разве удобно гвозди забивать микроскопом?
источник