[Moscow.pm] Coro

Dmitry Karasik dmitry на karasik.eu.org
Чт Янв 26 10:48:53 PST 2012


> 
> Опечатка, я имел ввиду 1, там где $write:
> 
>             $t = AE::timer 15, 0, $write_timeout;
>             $w = AE::io $fh, 1, $write;
> 
> Т.е. заменит $w на новый, который ждет записи. Получается явный flow
> control через AE::io/AE::timer.

т.е. это значит что один $fh нельзя слушать более чем одним коллбэком?

> В общем-то кошмар в коде не колбэки создают, а желание хранить их
> где-то в объектах и как-то работать с объектами, а не функциями.

Это слишком общо, не могу приять в качестве объективного аргумента.  В качестве
субъективного могу только сказать что когда я программировал цепочки коллбэков
для SNMP, на голых коллбэках это было изрядно макаронно, несмотря на все усилия. После смены
парадигмы на IO::Lambda все стало резко куда более поддерживаемое.

> Можно абсолютно весь код писать так и без лямбды и без AE::. Это
> подход, а не фреймворк.

Ну можно, с этим я и не спорил. Ваш оригинальный посыл был тот что IO::Lambda
использует тот же подход что и AE, и я спорил с этим. Потому что так и про CPS
можно сказать что это "тот же подход", т.к. там коллбэки; тем не менее его
традиционно выделяют в особый стиль. Так же лямбды достаточно далеки от простых
коллбэков, и тоже вполне себе отдельный стиль.

> Ну так хорошо, я посмотрел в код в лямбде, выглядит поддерживаемо, но
> требует изучения внутренностей лямбды, а это уже плохо.

Это конечно не мне судить, со стороны виднее, требует или не требует, но идея
была такова чтоб мануала и примеров было бы достаточно. Если подскажете какую
часть мануала поправить, чтобы было понятнее, я сделаю.

> Но в общем случае это все равно подход и если без лямбды, то он
> означает, что результат любой функции должен возвращаться в один
> анонимный колбэк. И код станет хорошим и останется чистым перлом.

Ну да, результаты возвращаются в коллбэк и там и там.  Непонятно только почему
код вдруг станет чистым если, как вот мне показалось, я продемонстрировал что
такой подход как раз чреват макаронами. Но по этому поводу я уж спорить не
буду, если вы считаете что на голых коллбэках читабельнее, ну чтож, тоже точка
зрения ;) 

-- 
Sincerely,
	Dmitry Karasik



Подробная информация о списке рассылки Moscow-pm