metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-10-20 01:28 pm
Entry tags:

Iteratees c обратной связью

В Iteratees обратная связь от iteratee к enumerator реализована хитрым образом - через исключения. Т.е. кидается исключение с данными, которые нужно обработать в источнике данных, например, указатель для рандомного seek в файле, оно перехватывается енумератором-источником данных и обрабатывается.

Мне видимо, придется посылать команды ком-порту в том же стиле, но вообще надо еще посушить мозги над структурой типов используемых в Iteratees, чтобы понять, почему сделано именно так, а не иначе.
Ну и посмотреть, как пакет enumerator используется в Yesod, на предмет того же - как они читают из сокета и пишут в него ответ.

[identity profile] permea-kra.livejournal.com 2011-10-21 07:48 am (UTC)(link)
Возьмите coroutines. Честное слово, оно проще.