Home
Objective Caml
ocaml@conference.jabber.ru
Четверг, 29 октября 2009< ^ >
ygrek установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся! | release crap | voice по запросу
Конфигурация комнаты

GMT+3
[00:07:02] ygrek вышел(а) из комнаты
[00:12:13] Tengiz65 вошёл(а) в комнату
[00:12:15] Tengiz65 вышел(а) из комнаты: нам пох на ваш флуд!!! все в COOL@CONFERENCE.JABBER.RU
[00:24:20] sevenov вошёл(а) в комнату
[00:27:47] Tengiz15 вошёл(а) в комнату
[00:27:49] Tengiz15 вышел(а) из комнаты: а нука накиньте еще флуда!!! нам пох! все в COOL@CONFERENCE.JABBER.RU
[00:54:40] Tengiz15 вошёл(а) в комнату
[00:54:42] Tengiz15 вышел(а) из комнаты: С.Р.У!!1 Свобода.равенство.cool@conference.jabber.ru
бальшой папа следит за тобой!!1
чесслово мы не быдло, мы укурки...

[01:10:08] Tengiz2 вошёл(а) в комнату
[01:10:10] Tengiz2 вышел(а) из комнаты: ты чо? не вдупляешь? бегом в COOL@CONFERENCE.JABBER.RU тебе там расскажут про пацанские понятия
[01:31:28] Tengiz.63 вошёл(а) в комнату
[01:31:30] Tengiz.63 вышел(а) из комнаты: качайте спам бота!!! http://depositfiles.com/ru/files/m8u1nwtwx как пользоваца узнаете в cool@conference.jabber.ru
[02:09:05] Typhon вышел(а) из комнаты
[03:26:14] john вышел(а) из комнаты
[03:26:22] john вошёл(а) в комнату
[04:47:53] sevenov вышел(а) из комнаты
[05:35:32] john вышел(а) из комнаты
[06:28:33] john вошёл(а) в комнату
[07:45:12] geovit вошёл(а) в комнату
[08:07:36] animist вышел(а) из комнаты
[08:09:56] animist вошёл(а) в комнату
[08:27:44] gds вышел(а) из комнаты
[08:57:40] gds вошёл(а) в комнату
[09:53:26] Typhon вошёл(а) в комнату
[09:56:24] ygrek вошёл(а) в комнату
[10:11:43] <gds> кто-нибудь компилировал окамл под линуксом? есть убунта, хочу labltk, но не могу найти пакет, ставящий tcl.h + tk.h. просто tcllib + tklib эти файлы не ставят. подскажете, что нужно ставить, или как вообще разгребать подобный случай?
[10:19:45] f[x] вошёл(а) в комнату
[10:20:15] <Typhon> gds: что-нибудь в духе tcl-dev, я думаю
[10:21:03] <Typhon> сам без tcl компилировал
[10:21:46] <f[x]> $ apt-file search /tcl.h | grep -v html
perl-tk: /usr/lib/perl5/Tk/pTk/tcl.h
tcl8.3-dev: /usr/include/tcl8.3/tcl-private/generic/tcl.h
tcl8.3-dev: /usr/include/tcl8.3/tcl.h
tcl8.4-dev: /usr/include/tcl8.4/tcl-private/generic/tcl.h
tcl8.4-dev: /usr/include/tcl8.4/tcl.h
tcl8.5-dev: /usr/include/tcl8.5/tcl-private/generic/tcl.h
tcl8.5-dev: /usr/include/tcl8.5/tcl.h
[10:23:07] <gds> ага, tcl-dev + tk-dev есть, оно.
про apt-file -- тоже интересно. но оно по умолчанию не ставится, поэтому среди всех apt-* я не видел её.
[10:24:10] <f[x]> угу, ставить отдельно и иногда apt-file update делать чтобы база актуальная была
[11:31:14] <gds> переписал на потоковых парсерах то, что пытался получить от ocamllex всякими хаками (utf8, несложный лексинг, отслеживание позиций). чуть больше ручной работы (особенно в самом парсере, где кушаю токены из потока символов). зато, что порадовало, процесс конструктивный: всегда при написании у меня было какое-то состояние исходника, и всё решалось дописыванием исходника с предсказуемыми результатами, в отличие от непонятно к чему приводящих игрищ с мутабельным состоянием.
теперь буду поток токенов преобразовывать в типа-s-выражение. оно LL(1), то есть, в принципе получится.
[11:54:34] john вышел(а) из комнаты
[11:55:12] john вошёл(а) в комнату
[12:00:28] <f[x]> jocaml'евская версия жрала память потому что плодила потоки в невменяемых количествах, исправил (заменил явный Thread.create на spawn) - стало всё ок, но скорость в десять раз хуже чем версия на pthreads, одна из причин наверное - много созданий/удалений потоков, вместо того чтобы исопльзовать thread pool
[12:02:01] ygrek вышел(а) из комнаты
[12:18:12] f[x] наковырял переменные JOPOOLSIZE и JOMAXRUN но что-то толку от них
[12:19:49] <f[x]> похоже надо собирать дебажную версию
[12:20:04] f[x] что-то всерьёз подсел
[12:22:01] john вышел(а) из комнаты
[12:43:39] <gds> f[x]: да, jocaml + systhreads -- проигрышная комбинация, если часто рожать/убивать потоки.
[12:48:34] <ermine> а зачем рожать-убивать часто? Уж лучше иметь пул в любой системе
[12:50:29] ermine внимательно следит за дерганиями f[x] с jocaml, чтобы понять, есть ли смысл в jocaml
[12:51:06] <gds> смысл есть.
[12:51:26] <ermine> где?
[12:51:49] <f[x]> там есть пул, но либо он не работает, либо можно улучшить
[12:52:20] <f[x]> join'ы как концепция очень хороши
[12:53:28] <f[x]> кроме jocaml есть ещё реализации - Cω, boost.join, C#.joins
[12:53:43] <ermine> ты это скрещивал с netclient?
[12:54:07] <f[x]> нет, от netclient я откащался в пользу ocurl
[12:54:31] <ermine> а он падать перестал?
[12:55:04] <f[x]> я ж пофиксил :)
[12:55:14] <f[x]> только в upstream'е ещё не всё
[12:55:33] <f[x]> вот тут про внутренности --> http://channel.sourceforge.net/boost_join/libs/join/doc/internals.html
[12:55:52] <ermine> я видела, ну может это не единственная причина была
[12:56:43] <f[x]> ermine: ага, не единственная, но сейчас пока не падает больше
[12:57:13] <ermine> f[x]: а у тебя программа работает днями и месяцами постоянно?
[12:57:35] <ermine> в этом случае повсюду вылезали проблемы
[12:59:21] <f[x]> насчёт выгоды join'ов - сравните код в chameneos-redux -- оригинальный Meeting_place (http://paste.defun.ru/m636344a2) и на jocaml'е (http://paste.defun.ru/m1bf70b82)
[13:00:24] <f[x]> ermine: в идеале да, на практике изменения (в логике) нужны часто, но по неделе и больше работает
[13:04:39] <f[x]> Когда падает -- ковыряю и фиксю. из непофикшенных остались assertion в netclient+equeue, переполнение стека в nethtml, залипание tcp на localhost. Пока не разобрался -- обошёл по-другому.
[13:05:31] <ermine> а пчу в первом варианте варианты, а во втором - sum? :)
[13:06:56] <f[x]> авторский произвол :)
[13:07:24] <gds> но если первое переписать на sum type, будет быстрее, по идее.
[13:09:14] ygrek вошёл(а) в комнату
[13:09:32] <f[x]> угу, но конечно по сравнению с оверхедом от потоков это всё неважно
[13:42:03] Mon вышел(а) из комнаты
[13:42:16] Mon вошёл(а) в комнату
[13:52:04] Typhon вышел(а) из комнаты
[13:55:20] Typhon вошёл(а) в комнату
[14:25:04] geovit вышел(а) из комнаты
[14:27:41] geovit вошёл(а) в комнату
[15:39:48] Typhon вышел(а) из комнаты
[15:44:16] Typhon вошёл(а) в комнату
[15:50:29] Typhon вышел(а) из комнаты
[15:50:34] Typhon вошёл(а) в комнату
[16:00:16] Typhon вышел(а) из комнаты: Replaced by new connection
[16:01:35] Typhon вошёл(а) в комнату
[16:02:00] <gds> покритикуйте: http://paste.defun.ru/m440fd51f
что лично мне не нравится - что если забыть закрыть скобку, будет Stream.Error. Даже если я впишу туда текст через "??", мне не удастся передать место ошибки в исключении.
[16:05:48] Typhon вышел(а) из комнаты
[16:08:27] Typhon вошёл(а) в комнату
[16:13:19] <ermine> gds: а если после получения ошибки вынуть следующий элемент из потока, из него вынуть location?
[16:13:34] <ermine> (я не смотрела на код, ибо лениво)
[16:13:47] <ermine> но по идее позиции и потоки не связаны между собой
[16:14:32] <ermine> в либле Stream есть функция, которая возвращает число вынутых элементов потока
[16:15:49] ermine вчера вечером думала, что победила один затык в сульце, сегодня обнарузилось, что нифига не победила
[16:18:47] f[x] делает так:
let show () =
let tail = Stream.npeek 10 chars >> List.map (String.make 1) >> String.concat "" in
sprintf "Position %u : %s" (Stream.count chars) tail
http://ygrek.org.ua/p/code/bencode.ml.html

[16:21:02] <ermine> f[x]: почти красивое решение
[16:21:21] <ermine> за исключением склеивания 10 однобуквенных строчек
[16:27:19] <f[x]> List.nth (String.nsplit $TOPIC "|") 3
[16:31:29] <gds> f[x]: идею понял, прилично. Погляжу, как будет удобнее, выдавать позицию или контекст.
[16:32:30] <gds> ermine: идея "вынуть следующий элемент" признаётся кошерной.
но включил мозг, подумал, что это даже overkill -- у меня только на eof может быть такая ситуация. хотя в других случаях буду использовать.
[16:50:50] sevenov вошёл(а) в комнату
[16:56:08] geovit вышел(а) из комнаты
[16:59:04] ygrek вышел(а) из комнаты
[17:30:34] gds вышел(а) из комнаты
[17:36:17] sevenov вышел(а) из комнаты
[17:37:44] sevenov вошёл(а) в комнату
[18:54:46] Typhon вышел(а) из комнаты
[20:16:06] ygrek вошёл(а) в комнату
[20:23:50] f[x] вышел(а) из комнаты
[22:17:27] beard вошёл(а) в комнату
[22:20:20] beard вышел(а) из комнаты
Конфигурация комнаты
[22:59:13] Конфигурация комнаты изменилась
[23:32:52] gds вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!