Home
Objective Caml
ocaml@conference.jabber.ru
Понедельник, 27 июня 2011< ^ >
gds установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Светлое будущее -- http://camlunity.ru/ | Нефильтрованное настоящее -- https://github.com/camlunity/kamlo_wiki | Портер прошлое -- http://gdsfh.dyndns.org/kamlo/ | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв, move on
Конфигурация комнаты
Участники комнаты

GMT+4
[00:03:50] <ermine> два раза
[00:04:19] <ermine> я выделила в либку общий код для разных парсеров, поэтому два раза
[00:04:26] zert вышел(а) из комнаты
[00:04:31] <ermine> в либке после Make еще и include его
[00:05:24] <ermine> иначе я во втором случае домогаться до >>= не шмогла
[00:08:49] <gds> ermine: http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/2011/06/23.html#12:58:08.714462 -- не?
[00:11:32] <ermine> gds: ?
[00:11:49] <ermine> gds: там для простого экзешника
[00:13:08] <gds> а тебе что надо -- либа что кушает?  Если либа lwt'шная -- сделай модуль, который lwt берёт на вход.  Если пюре, то его и сгенери.  Если не хочется, то параметризуй своё итератами -- пользователь даёт модуль с итератами и имеет щасте.
[00:14:32] <ermine> gds: я сначала сделала библиотеку, в нём сделала module K (IO:MonadIO) = struct module I = Iteratees.Make (IO) include I .... end
[00:15:04] <ermine> без этого инклюда я не шмогла достать до функций модуля из еще одного экзешника
[00:15:55] <ermine> пора спатки
[00:16:42] arhibot вошёл(а) в комнату
[00:17:42] <gds> в общем, расскажу про методы решения, но это неинтересно, вали давай :)
[00:19:36] <ermine> в следующий раз расскажешь эту сказку, ага
[00:19:50] <gds> я понял такое, что передавать IO рядом с итератами -- это означает "выписывать type sharing модулей".  Поэтому завёл себе такой принцип: передаю "самый функциональный" модуль, а остальные включаю в него.  Например, если модуль работает с чистой манаткой IO, то её и передаю.  Если с итератами и с IO, то передаю итераты, в которые зафигачил module It_IO, и который достаю при нужде -- в функторе над итератами пишу module IO = It_IO и всё.
[00:25:03] <ermine> а как быть с >>=, который виден только в K, и даже open K не дает доступа к нему (видимо без квалификаторов)?
[00:26:32] <gds> я предпочитаю инфиксное выделять отдельно, но это дело вкуса.  Но в моём случае хватило бы в K объявить module Ops = I.Ops и его вынести наружу.  Либо module Ops = struct include I.ops ...другие операторы... end
[00:26:35] gds вышел(а) из комнаты
[00:27:45] <ermine> ну >>= не в опсах
[00:28:03] <ermine> или я про >>%, не помню уже
[00:28:54] <ermine> давай лучше >>%, ага
[00:29:22] <ermine> они не полиморфные почему-то :)
[00:51:14] ermine вышел(а) из комнаты
[00:54:36] arhibot вышел(а) из комнаты
[05:01:16] zinid вошёл(а) в комнату
[08:39:21] bobry вышел(а) из комнаты
[09:04:48] gds вошёл(а) в комнату
[09:05:32] Typhon вошёл(а) в комнату
[09:13:22] <gds> ermine: кто-куда не полиморфный?
[10:45:49] f[x] вошёл(а) в комнату
[10:54:28] ftrvxmtrx вышел(а) из комнаты
[10:54:40] ftrvxmtrx вошёл(а) в комнату
[11:06:54] klapaucius вошёл(а) в комнату
[11:35:37] ermine вошёл(а) в комнату
[11:44:44] <gds> xclerc реактивни! http://caml.inria.fr/mantis/view.php?id=5301
[12:09:51] zert вошёл(а) в комнату
[12:47:47] ftrvxmtrx вышел(а) из комнаты
[12:59:36] gds вышел(а) из комнаты
[13:13:32] ftrvxmtrx вошёл(а) в комнату
[13:51:44] gds вошёл(а) в комнату
[13:53:58] komar вышел(а) из комнаты
[14:00:27] komar вошёл(а) в комнату
[15:11:50] <f[x]> ermine: насчёт mltls куда тебе патчи присунуть?
[15:32:48] <f[x]> ermine: https://github.com/ermine/mltls/issues/1#issuecomment-1446680
[15:49:00] f[x] вышел(а) из комнаты
[15:49:16] <Typhon> f[x]: ты как не модный — надо было форкнуть, попатчить и заслать пулреквест, прямо к этому issue :-)
[15:54:50] <ermine> Typhon: а ты уже написал первый итерат?
[15:54:56] f[x] вошёл(а) в комнату
[15:56:40] <f[x]> Typhon: охщи
[15:56:42] <Typhon> нет, я пока занятой был, а последнюю неделю отходил вот, надо итерат написать, ага
[15:57:08] <ermine> хм, а пчу комменты с гитхуба не приходят почтой
[15:58:09] <komar> Ко мне приходят.
[15:58:24] <komar> Про баг спросили, который я запостил два года назад.
[15:58:36] <komar> Я уже и не помню, что эта софтина делает и зачем она мне понадобилась.
[16:08:35] <ermine> f[x]: а вообще я ж не знаю как фиксить эту проблему
[16:09:35] <f[x]> патч применить?
[16:09:50] <ermine> ну пришли
[16:09:58] <ermine> если у меня скомпилится - применю
[16:10:01] <f[x]> ы, там в комменте ссылка же
[16:11:38] <ermine> хе, действительно, почему-то в textarea
[16:11:54] <f[x]> ermine: curl http://ygrek.org.ua/files/mltls-link.patch | git am
[16:13:27] <ermine> f[x]: это сразу с коммитом? а можно без?
[16:17:20] <ermine> а впрочем пофигу
[16:20:47] <f[x]> тогда apply
[16:22:39] <ermine> вылезли варнинги в .c, так что с ходу пушить не буду
[16:23:37] <ermine> mltls_stub.c:184: warning: passing argument 1 of 'SSL_CTX_new' discards qualifiers from pointer target type
[16:48:17] <f[x]> хм, таки убери тогда const из 166-ой строки
[16:48:44] <f[x]> ermine: ^^
[16:56:34] Digimmortal вошёл(а) в комнату
[16:56:38] <ermine> ага, теперь чисто компилится
[16:56:58] <ermine> осталось понять что там еще изменилось существенного
[16:58:23] f[x] вышел(а) из комнаты
[17:02:16] f[x] вошёл(а) в комнату
[17:03:42] <gds> оказывается, "e1 >>= fun x -> match x with [ e2 ] >>= e3" нельзя переписать в виде "e1 >>= fun [ e2 ] >>= e3".  лёгкая пичалька.
[17:05:21] <ermine> f[x]: из существенного только выкинул один метод шифрования?
[17:06:43] <ermine> как там в гите посмотреть что поменялось в одном файле за два коммита
[17:07:52] <f[x]> угу
[17:08:09] <f[x]> git diff commit1..
[17:08:34] <ermine> ы
[17:09:57] <ermine> ну тогда ок, ща запушу
[17:16:51] <ermine> а как закрыть issues на гитхубе?
[17:19:03] <ermine> закрыла
[17:20:43] <ermine> gds: а в revised нету слова function?
[17:21:14] <gds> вроде нет.
[17:23:50] <ermine> f[x]: а у меня вылезла логическая трабла с непривычки - enumeratee шлет новые чанки в итерат, а итерат, оказывается, еще и EOF хотел увидеть, и поэтому результаты терялись
[17:24:36] <ermine> у меня eof был меткой конца строки, щас поняла, что это пожалуй неправильный подход будет
[17:29:16] <gds> ermine: не делай так.  Если у тебя есть EOF, то после него ничего идти не может.  Лучше делай чанки, элементы которых являются строками (для каждой отдельной строки входа), либо как-то ещё.
[17:42:44] <ermine> gds: да после еофа этому итерату точно ничего не идет, просто есть разные варианты представления куска данных (лимитированной строки), начиная от дурацких вариантов (зато в лоб) до заумных и научно-академических
[17:43:37] <gds> ermine: а у тебя "токен" всегда целиком в одном чанке?
[17:44:48] <ermine> gds: нет конечно, поэтому и результаты пропадают, а офигеваю
[17:46:13] <ermine> gds: вот апример итерат break - он в себе копит всё, пока не встретится преграда, и потом отдает все целиком
[17:46:14] <gds> ermine:  а что является токеном -- строка марка дауна?  Она в 16e6 символов влезет?
[17:47:00] <ermine> gds: да, строка марка
[17:48:29] <gds> а хотя вот засомневался в своём подходе.  слишком много деталей надо учитывать.  тут сходу не помогу.
[17:49:46] <ermine> попробую свой подход из доитератовой жизни, где я ловила \r\n не в "наверху", а в самом нижнем итерате
[17:53:10] <ermine> gds: прикинь еще такую ситуацию: *abc\ndef*, но не *abc\n\ndef*, где во втором случае абзац таки завершился на \n\n, но одиночный \n надо учитывать в заголовке
Heading
=======
[17:54:44] <gds> может стоит бить на абзацы как-то?
[17:56:37] <ermine> gds: break должен быть не в начале обработки текста, а там, где обрабатывается текст внутри абзаца, делаем итерат, который выпарсивает выделения, урлы и пр (inline-штучки) и посылает IE_done когда видит \n\n
[17:59:43] komar вышел(а) из комнаты: Replaced by new connection
[17:59:44] komar вошёл(а) в комнату
[17:59:44] komar вышел(а) из комнаты: Logged out
[17:59:49] komar вошёл(а) в комнату
[17:59:49] <gds> ermine: а вот не знаю, что и как тебе нужно тут.  не знаю, как помочь.
[18:01:11] <ermine> gds: допишу еще малость кода, победю sequence и можно будет похвастаться
[18:01:18] <ermine> или посрамиться
[18:02:10] <gds> в любом из случаев будет результат.  Кстати, про sequence -- хорошо, что пробуешь его.  Высокоуровнево получится.
[18:18:03] <f[x]> ermine: кстати cryptokit.base64 недавно пофиксили
[18:18:10] <f[x]> добавили нужную тебе функу
[18:18:24] <f[x]> жаловаться надо всё-таки - глядишь давно бы уже всё было
[18:26:30] <ermine> f[x]: о, надо добыть и поставить зависимость в оазисе на свежак
[18:27:43] <ermine> f[x]: а новый релиз вышел?
[18:27:52] <f[x]> 1.5
[18:30:37] <ermine> щас покомпиляем
[18:31:28] <ermine> хех, оазис
[18:33:47] <ermine> uninstall конечно ничего не делает
[18:58:19] Typhon вышел(а) из комнаты
[19:55:54] ftrvxmtrx вышел(а) из комнаты
[19:59:10] Digimmortal вышел(а) из комнаты
[19:59:28] Digimmortal вошёл(а) в комнату
[20:01:31] <ermine> Fatal error: exception Cryptokit.Error(9)
[20:01:36] <ermine> шо бы это значило
[20:07:17] ftrvxmtrx вошёл(а) в комнату
[20:08:03] <komar> Девятая ошибки криптокита, чего непонятно?
[20:08:36] zinid вышел(а) из комнаты
[20:09:04] <ermine> криптокит не прожевал ежиковый base64
[20:09:29] <komar> Хорошо исправили.
[20:15:34] <ermine> не, причина в чем-то другом
[20:18:07] Digimmortal вышел(а) из комнаты
[21:34:49] avysk вошёл(а) в комнату
[21:35:26] avysk вышел(а) из комнаты
[21:35:43] ftrvxmtrx вышел(а) из комнаты
[22:37:30] bobry вошёл(а) в комнату
[22:48:34] ygrek вошёл(а) в комнату
[22:50:02] <ygrek> ermine: Bad_encoding
[22:50:19] <ygrek> > Illegal characters were found in an encoding of binary data
[22:53:17] ftrvxmtrx вошёл(а) в комнату
[22:54:30] <ygrek> > When I was young, printf didn't exist
[23:45:07] Typhon вошёл(а) в комнату
[23:55:18] <ermine> ygrek: запушила на гитхуб
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!