Home
Objective Caml
ocaml@conference.jabber.ru
Вторник, 12 октября 2010< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся! | release crap | judge by commits, not comments | ocaml мёртв, move on | Oh My God! They Killed Kamlp4! Bastards!
Конфигурация комнаты
Участники комнаты

GMT+4
[00:23:29] <gds> ygrek: да, пост видел, но не могу отреагировать -- в CamlTemplate копаться лень, если уже есть решение на ocamllex.  А про само решение -- канает, что тут говорить.
[00:39:13] <gds> ygrek: про 4кб понял, но проблему не отменяет: там я могу зацепить тело (в случае POST), там могу зацепить следующий запрос (если вдруг клиент решил, что я умею keep-alive), там я могу вылететь по таймауту (ибо 4кб могут передаваться долго), и в этих крайних случаях (crossing bounds) придётся либо возвращать тушку следующего запроса, либо как-то сообщать, что "прочитали ок, сейчас обработаем".  В общем, сохранять прочитанные-необработанные элементы (в том числе символы, если строки читать блокирующим в-в) таки придётся, что и напрягает слегка.  Конечно, в iteratees это тоже приходится делать, но там это не хаки, а естественный процесс, как я понял.
[00:50:16] gds вышел(а) из комнаты
[01:06:05] ermine вышел(а) из комнаты
[01:10:58] komar вышел(а) из комнаты
[01:41:55] <ygrek> первые два случая не проблема, а третий - решается стандартно - примитив "вычитать N байт и дёрнуть callback" есть в любой обёртке над io event'ами
[01:43:47] <ygrek> т.е. для прототипа можно быстро написать готовую рабочую версию и не создавать себе проблем реализовывая суперкорректный автомат на стримах :)
[02:57:40] zert вышел(а) из комнаты
[03:10:08] ygrek вышел(а) из комнаты
[04:02:54] Typhon вышел(а) из комнаты
[08:23:20] iNode вошёл(а) в комнату
[08:59:41] gds вошёл(а) в комнату
[10:08:44] iNode вышел(а) из комнаты
[10:15:44] arhibot вошёл(а) в комнату
[10:22:23] komar вошёл(а) в комнату
[10:23:38] ygrek вошёл(а) в комнату
[10:25:15] iNode вошёл(а) в комнату
[10:33:50] komar вышел(а) из комнаты
[11:11:55] ygrek вышел(а) из комнаты
[11:12:44] serp256 вошёл(а) в комнату
[11:14:49] ermine вошёл(а) в комнату
[11:36:43] serp256 вышел(а) из комнаты
[11:58:06] zert вошёл(а) в комнату
[12:02:13] komar вошёл(а) в комнату
[12:44:00] serp256 вошёл(а) в комнату
[12:50:50] serp256 вышел(а) из комнаты
[13:03:22] Kakadu вошёл(а) в комнату
[13:25:06] arhibot вышел(а) из комнаты
[13:25:11] arhibot вошёл(а) в комнату
[14:28:42] arhibot вышел(а) из комнаты
[14:42:37] serp256 вошёл(а) в комнату
[15:07:03] serp256 вышел(а) из комнаты
[15:11:48] iNode вышел(а) из комнаты
[15:15:29] iNode вошёл(а) в комнату
[17:18:33] Typhon вошёл(а) в комнату
[17:22:15] serp256 вошёл(а) в комнату
[17:30:04] gds вышел(а) из комнаты
[17:37:09] arhibot вошёл(а) в комнату
[18:06:22] gds вошёл(а) в комнату
[18:31:36] serp256 вышел(а) из комнаты
[18:47:10] Kakadu вышел(а) из комнаты
[18:52:10] ygrek вошёл(а) в комнату
[19:00:04] arhibot вышел(а) из комнаты
[20:46:44] Kakadu вошёл(а) в комнату
[21:16:09] ygrek вышел(а) из комнаты
[21:16:12] ygrek вошёл(а) в комнату
[21:22:06] arhibot вошёл(а) в комнату
[21:26:36] Typhon вышел(а) из комнаты
[22:34:16] Typhon вошёл(а) в комнату
[22:55:44] <gds> в общем, потихоньку получается с iteratees.  Разгадка тому -- нефиг смотреть на слайдэ, если есть рабочий исподник (конечно, не совсем на нужном языке), в котором есть всё, что нужно для нормальной жизни.
Половину уже спортил (в обоих смыслах).
Код, читающий http-заголовок, получается примерно таким: http://pastebin.com/wNYdVwwA (ограничение на размер будет в break_chars, там несложно, ибо логика весьма "прямая")
[22:56:54] <gds> (замечу, что данный сэмпл использует контроль ресурсов (закрытие хендла, чтение из буфера фиксированного размера), и ни в коем случае не связан с так называемым "lazy io")
[23:00:05] <ygrek> ааааа, монадки в моём камле
[23:00:41] <komar> Монадки рулят!
[23:01:19] <gds> всё, я собираю свои монадки и валю отсюда!11
кстати, их там целых две.  так вышло.
[23:19:13] ygrek продолжает bisect'ить qemu пытаясь завести под ним bsd с java
[23:20:20] arhibot вышел(а) из комнаты
[23:47:41] Kakadu вышел(а) из комнаты
[23:54:05] ermine вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!