Home
Objective Caml
ocaml@conference.jabber.ru
Понедельник, 25 января 2010< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся! | release crap | voice по запросу | ocaml мёртв, move on
Конфигурация комнаты

GMT+3
[00:06:02] Typhon вошёл(а) в комнату
[00:34:09] ermine вышел(а) из комнаты
[01:01:29] sceptic вышел(а) из комнаты
[01:01:46] sceptic вошёл(а) в комнату
[01:07:48] sceptic вышел(а) из комнаты
[01:08:05] sceptic вошёл(а) в комнату
[01:16:41] ygrek вышел(а) из комнаты
[02:04:34] serp256 вышел(а) из комнаты
[02:19:53] Typhon вышел(а) из комнаты
[03:36:14] daapp вошёл(а) в комнату
[07:20:13] ermine вошёл(а) в комнату
[07:50:26] geovit вошёл(а) в комнату
[08:22:57] iNode вошёл(а) в комнату
[10:18:49] Mon вышел(а) из комнаты
[10:18:55] Mon вошёл(а) в комнату
[10:21:53] ygrek вошёл(а) в комнату
[10:26:24] serp256 вошёл(а) в комнату
[10:35:05] f[x] вошёл(а) в комнату
[10:46:21] Mon вышел(а) из комнаты
[10:46:29] Mon вошёл(а) в комнату
[10:53:22] Typhon вошёл(а) в комнату
[11:16:04] ygrek вышел(а) из комнаты
[11:35:32] <f[x]> очевидное невероятное
http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/trunk/ocamlbuild/findlib.ml
[11:46:24] ygrek вошёл(а) в комнату
[11:49:49] Typhon вышел(а) из комнаты
[11:55:16] ermine вышел(а) из комнаты
[12:03:32] daapp вышел(а) из комнаты
[12:15:56] ygrek вышел(а) из комнаты
[12:32:18] gds вошёл(а) в комнату
[12:35:43] <gds> шолом.
клёво я свалил покататься по украине :)
[12:38:11] <f[x]> привет
[12:38:24] <f[x]> ermine уже хотела тебя в розыск объявлять :)
[12:40:21] <gds> ага, чятлоги читал, миленько. шутку насчёт запоя заценил, поржал :)
[12:42:32] <f[x]> и как там Украина поживает?
[12:42:51] <gds> тут ить ключевым моментом было то, что я в ноябре увёл чужую жену (с дитём в нагрузку), а остальное (отсутствие времени, куча поездок) -- следствия этого факта.
[12:44:05] <gds> Украина -- ок! В Киеве был, но свободного времени не было (и не планировалось ему быть), поэтому не стал координироваться со знакомыми оттуда (в том числе из нашего чятика).
[12:50:45] <f[x]> ну будешь ещё раз - маякни :)
[12:53:05] <gds> ага, я помню, что ты там живёшь, и вообще в следующую поездку (не знаю только, когда) таки оповещу о визите. Будет достойный ответ инриавским сборищам.
[12:55:59] ermine вошёл(а) в комнату
[13:03:11] sceptic вышел(а) из комнаты
[13:06:41] sceptic вошёл(а) в комнату
[13:31:38] <ermine> о, неужели живой gds вылез из запоя с горилкой и салом
[13:38:39] Яков Зайцев вошёл(а) в комнату
[13:39:44] Mon вышел(а) из комнаты
[13:40:01] Яков Зайцев вышел(а) из комнаты
[13:40:24] Yakov Zaytsev вошёл(а) в комнату
[13:40:30] <Yakov Zaytsev> hey
[13:40:34] Mon вошёл(а) в комнату
[13:41:22] Mon вышел(а) из комнаты
[13:41:49] <Yakov Zaytsev> хм что за ерунда с GEdit.entry она отображает что я ввел только после того как фокус потеряет
[13:41:53] Mon вошёл(а) в комнату
[13:42:09] <Yakov Zaytsev> когда фокус у нее не рисует буковки что я набираю :-(
[13:42:33] <Yakov Zaytsev> просто добавил ее в окошечко.
[13:44:03] <gds> ermine: кстати вот, потреблеяние олкогойльных ядов сократилось многократно. А в глухом украинском селе я даже нашёл 220В и накодил кусок для своей "разметки" (преобразование из s-expr в дерево, в котором узлы содержат значения; осталось только всё протипизировать и посчитать -- не rocket science, но хоть что-то).
[13:48:08] <ermine> gds: ясно, хорошо если доволен поездкой :)
[13:49:40] <ermine> gds: но вообще там ж было холодно
[14:19:56] Typhon вошёл(а) в комнату
[14:33:34] sd22 вошёл(а) в комнату
[14:34:47] sd22 вышел(а) из комнаты
[15:01:50] Typhon вышел(а) из комнаты
[15:02:04] Typhon вошёл(а) в комнату
[15:18:57] Typhon вышел(а) из комнаты: Replaced by new connection
[15:19:00] Typhon вошёл(а) в комнату
[15:39:56] Mon вышел(а) из комнаты
[15:40:19] Mon вошёл(а) в комнату
[15:44:54] <f[x]> хм, objsize только что упал в корку
[15:46:08] <f[x]> Yakov Zaytsev: покажи код
[15:46:58] Mon вышел(а) из комнаты
[15:47:31] Mon вошёл(а) в комнату
[15:48:14] <gds> objsize? шоке. воспроизводится?
[15:49:08] <f[x]> пробую
[15:50:38] <ermine> упало в честь возвращения gds
[15:50:57] <ermine> а в bt какая функция засветилась?
[15:51:38] <f[x]> до bt ещё добраться надо, это в топлевеле было
[15:51:57] <f[x]> а в линуксах just-in-time debugging нету?
[15:52:12] <f[x]> чтобы gdb аттачился автоматически при крэше?
[15:53:02] <f[x]> много-много c_rec_objsize
[15:53:56] <ermine> стэк кончилсо?
[15:55:27] <f[x]> саме так
[15:56:06] <gds> бида-бида.
[15:58:08] <gds> но какая же этому разумная альтернатива? разворачивать стек в куски malloc'ом выделенной памяти?
[15:58:54] <Yakov Zaytsev> там странное что-то.. если в майне сделать то нормальный едит, а если как я делаю в классе то какой-то херовый. странно себя ведет
[16:02:08] <f[x]> дык у меня не сильно рекурсивная структура имхо
[16:02:55] <f[x]> Yakov Zaytsev: может как-то неправильно цепляешь его к виджету? лучше покажи код, вероятность оттелепатировать багу будет выше.
[16:03:36] <ermine> но в стркуттуре есть 8 кило элементов и более?
[16:05:47] <f[x]> много более
[16:05:56] Yakov Zaytsev вышел(а) из комнаты
[16:09:37] sceptic вышел(а) из комнаты
[16:11:33] <f[x]> интересно, имеет ли смысл попросить камловодов заэкспортить socket_val из win32unix/unixsupport.h ?
[16:14:04] <gds> 50/50. с одной стороны -- нужно, с другой -- специфика имплементации. я бы скопипастил.
[16:14:16] Yakov Zaytsev вошёл(а) в комнату
[16:14:54] <Yakov Zaytsev> блин, мне периодически выдает message too long
[16:15:04] <Yakov Zaytsev> даже на такие мессаги.. wtf.
[16:19:43] <f[x]> вообщем у меня список из 2М элементов, так что ссзб
[16:20:14] <f[x]> но в корку это всё таки нехорошо - лучше наверное исключение кидать
[16:23:50] Typhon вышел(а) из комнаты
[16:24:17] Typhon вошёл(а) в комнату
[16:24:49] <gds> как предлагаешь определять момент, когда нужно кидать исключение?
[16:26:22] <f[x]> лимит на глубину рекурсии? лимит определять ... произвольно (не getrlimit же использовать?)
[16:28:14] <gds> имхо лучше всё-таки разворачивать стек в очередь на сишном хипе (возможно опционально). Ну или лимит какой-нибудь, который задавать в рантайме, например.
Если с лимитом сделать, то всё получится просто. Но нужно ли?
[16:36:22] <f[x]> наверное нет
[16:36:52] <f[x]> ещё как вариант - objsize которые не отслеживает циклы
[16:37:24] <f[x]> а такое и без сишного кода можно сделать наверное
[16:42:21] <gds> отслеживание циклов ортогонально глубине рекурсии.
отслеживание циклов на hashtbl делали как-то в рассылке, только сейчас не могу воссоздать механизм его работы. (имхо там накосячили, ибо адреса меняются в общем случае.) Ну или на List.assocq можно отслеживать :)
[16:44:33] <f[x]> не понял, почему тогда оно крэшится?
[16:45:19] <f[x]> я думал на стеке сохраняется инфа о цвете блоков (для того чтобы отмечать блоки самому, для того чтобы избежать зацикливания)
[16:45:59] Typhon вышел(а) из комнаты
[16:46:23] <gds> потому что много рекурсивных вызовов в случаях, когда значение является блоком с тегом < No_scan_tag, и надо пройтись по его элементам Field[i].
Цвета храню на сишном хипе, и они занимают мало, ибо RLE.
[16:46:24] Typhon вошёл(а) в комнату
[16:48:07] <f[x]> а "not-very-general optimization" (например для списков) ты делать не хочешь
[16:49:33] <gds> не то что бы не хочу, скорее не видел в ней много смысла.
оказывается, смысл появился? тогда можно сделать.
[16:50:14] <f[x]> ну для лузеров с миллионными списками :) правда я как раз от них избавляюсь
[16:53:23] <gds> в рекурсивной функции заведу переменную для хранения значения, по которому нужно рекурсивно бежать, и если значение оказалось одно в конце пробежки по Field[i], то буду бежать по нему посредством goto, а не рекурсии.
просто вот конкретно сейчас ссыкотно в тот код смотреть :) сегодня-завтра попробую асилить.
[16:54:01] <f[x]> тут же ещё важен порядок в котором список хранит car и cdr :)
[16:55:04] <gds> мда, верно. Сделать заточку под классические списки, что ли?
[17:03:16] geovit вышел(а) из комнаты
[17:15:35] <f[x]> Gc.heap_words показывает 500М, система показывает 2Г, что это за память?
[17:16:13] <f[x]> вариант - лики в сишных биндингах, ещё?
[17:17:43] <gds> интересно, чо было бы после Gc.compact () или как там его.
[17:17:52] <gds> не только лики -- может быть честно-захапанные системные ресурсы.
[17:18:30] <f[x]> да, после Gc.compact
[17:19:20] <f[x]> это idle период, всё что осталось захапанное - лики
[17:21:30] <f[x]> я так понимаю что gc.compact влияет на heap words (т.е. heap_words = live_words + dead_words ---> Gc.compact ---> live_words + max_overhead / 100 * live_words)
[17:22:59] <gds> кстати, дай угадаю -- машина 32-битная?
[17:23:39] <f[x]> 64
[17:25:05] <f[x]> по крайней мере со стороны камля (не учитывая malloc'и) потребление памяти это heap_words + minor_heap_size и всё, так?
[17:26:21] <gds> ну и стек. и page table для major heap. имхо так.
[17:27:12] <f[x]> да, стек, а page table как можно заэстимейтить?
[17:27:54] <gds> а хз -- внутрь лезть надо. но оно не должно давать 1.5гб.
[17:28:09] <f[x]> бнопня
[17:32:31] Typhon вышел(а) из комнаты
[17:32:47] Typhon вошёл(а) в комнату
[17:43:54] sceptic вошёл(а) в комнату
[17:44:50] iNode вышел(а) из комнаты
[18:11:04] Typhon вышел(а) из комнаты
[18:11:24] Typhon вошёл(а) в комнату
[18:11:56] Typhon вышел(а) из комнаты
[18:12:11] Typhon вошёл(а) в комнату
[18:23:35] Typhon вышел(а) из комнаты: Replaced by new connection
[18:23:38] Typhon вошёл(а) в комнату
[18:26:32] <gds> http://community.livejournal.com/ru_declarative/94117.html -- ничего нового, но может кому полезно будет.
[18:41:12] f[x] тем временем прикрутил к curl'у труъ асинхронные биндинги
[18:47:20] <ermine> либивент?
[18:50:35] <f[x]> например
[18:50:54] <f[x]> на конкретную реализацию не завязано
[19:13:44] iNode вошёл(а) в комнату
[19:14:26] Typhon вышел(а) из комнаты
[19:14:41] <olegfink> кстати, а есть дизассемблер для байткода окамлевого?
[19:14:46] Typhon вошёл(а) в комнату
[19:14:55] <olegfink> чтобы, значит, хуман-ридабле
[19:17:45] <ermine> хацкир!
[19:18:48] <Yakov Zaytsev> а вот где есть функция take?
[19:19:04] <Yakov Zaytsev> заодно и drop, если позволите ;-)
[19:19:46] <ermine> в extlib наверное
[19:20:14] ermine ни разу не видела в практике необходимости в таких функциях
[19:20:15] <f[x]> тип какой?
[19:20:49] <ermine> кирпичный
[19:21:57] <Yakov Zaytsev> ээ... смотрел и в батарейках и в екстлибе..
[19:22:16] <Yakov Zaytsev> ygrek: ну, какое же. полиморфный
[19:22:22] <Yakov Zaytsev> a' list
[19:22:51] <ermine> 'a list
[19:23:52] <ermine> Yakov Zaytsev: а какой должен быть результат у камлевого take 3 [1] ?
[19:24:12] <Yakov Zaytsev> у мну [1]
[19:24:46] <ermine> какой интерес из этого, все равно потом проверять, что там выдалось
[19:25:07] <Yakov Zaytsev> нет, в том-то и дело.
[19:25:15] <ermine> проще сразу [a;b;c]
[19:25:33] <Yakov Zaytsev> ну, короче, я не знаю как без таких функций программы со списками писать
[19:25:40] <ermine> ну напиши через фолд
[19:26:21] <Yakov Zaytsev> ээ..
[19:26:54] <Yakov Zaytsev> я написал с помощью двух уравнений. а с фолд не очевидно для меня. :-)
[19:27:21] <Yakov Zaytsev> ermine: покажи как с фолд!
[19:27:56] Yakov Zaytsev не понимает, блин, тут что ограничение на короткие сообщения стоит?!
[19:28:14] Yakov Zaytsev "ermine: покажи! - Error sending message 'ermine: покажи!': too long message"
[19:28:44] <ermine> ну фолд не очень красивый вариант, там экспшн придется бросать по истечении каунтера
[19:28:57] <ermine> тогда просто рекурсивная функция :)
[19:29:40] <Yakov Zaytsev> ниче се.. ексепш в фолд.. функциональное програмирование..
[19:30:02] <f[x]> Yakov Zaytsev: 'a list это не тип функции
[19:30:18] <f[x]> я конечно догадался об чём речь, чисто придираюсь
[19:30:23] <Yakov Zaytsev> не, я сразу почувствовал с окамл надо осторожно. а то тут те и "паттерны" объектного програмирования и функциональное программирование
[19:30:25] <f[x]> # List.take 3 [1];;
- : int list = [1]
[19:30:33] <Yakov Zaytsev> чисто я понял ;-) все догадались.
[19:30:38] <f[x]> open ExtLib;;
[19:31:20] <Yakov Zaytsev> а-а-а позор мне.
[19:31:24] <Yakov Zaytsev> спасибо игрек!
[19:32:18] <ermine> эфотикс
[19:32:54] <Yakov Zaytsev> блин extlib-devel есть в федоре12 а батареек нет
[19:41:22] serp256 вышел(а) из комнаты
[20:05:54] sceptic вышел(а) из комнаты
[20:09:14] sceptic вошёл(а) в комнату
[20:11:13] Kakadu вошёл(а) в комнату
[20:15:41] Yakov Zaytsev вышел(а) из комнаты
[21:02:19] Kakadu вышел(а) из комнаты: Replaced by new connection
[21:02:20] Kakadu вошёл(а) в комнату
[21:16:21] Typhon вышел(а) из комнаты: Replaced by new connection
[21:16:24] Typhon вошёл(а) в комнату
[21:18:51] <olegfink> ermine, ну в апл take/drop одни из основных примитивов
[21:18:58] <olegfink> а вот head/tail -- производные
[21:19:30] <olegfink> но это, как не трудно догадаться, связано с тем, что там массивы, а не списки, и декомпозицию там нечего делать
[21:22:36] <ermine> olegfink: апл?
[21:23:47] <ermine> мне среди аплов вспомнился только прапрародитель цэ
[21:24:11] <olegfink> сдается мне, что никакой апл никогда не рожал си
[21:25:00] <olegfink> апл -- в смысле APL
[21:25:15] <ermine> ну да, я про APL
[21:25:49] <olegfink> ну так си родом из bcpl
[21:26:20] <olegfink> проще говоря, это все алгол
[21:26:31] <olegfink> а апл -- это, в общем, не алгол. :-)
[21:27:09] <olegfink> вообще в мире бывает алгол, лисп, апл и фп/фл
[21:27:23] <ermine> olegfink: apl -> bpl -> c?
[21:27:35] <olegfink> can't be
[21:27:43] <olegfink> что такое bpl?
[21:27:50] <olegfink> bcpl -- это наследник cpl :-)
[21:28:01] <olegfink> http://en.wikipedia.org/wiki/Combined_Programming_Language
[21:28:17] <olegfink> который очередной передел алгола
[21:28:23] <olegfink> нет, ты апл с чем-то путаешь
[21:28:41] <olegfink> http://en.wikipedia.org/wiki/APL_(programming_language)
[21:29:01] Kakadu вышел(а) из комнаты
[21:29:03] ermine набрала в гугле apl bpl c
[21:29:49] <olegfink> первый резалт?
[21:29:52] <olegfink> где там про си? :-)
[21:32:29] <olegfink> но за bpl спасибо, интересная очередная попытка аскиизировать апл
[21:35:09] <olegfink> в общем, апл и си ничего общего не имеют
[21:35:10] Typhon вышел(а) из комнаты
[21:35:26] <olegfink> во всяком случае, я ни о каком родстве ничего не знаю
[21:35:27] Typhon вошёл(а) в комнату
[21:35:43] <olegfink> вот apl с бакусовским fl всякое общее имеет
[21:36:37] <ermine> можно подумать, что ты решил реализовать компилятор apl
[21:36:48] <ermine> раз изучил так подробно
[21:36:56] ermine не изучала ничего :)
[21:37:59] <olegfink> то есть -- подробно?
[21:38:21] <olegfink> я вот и про окамль знаю, что он не си, а компилятор вроде пока писать не собираюсь
[21:38:28] <ermine> ну, более подробно чем я
[21:39:01] kpierre вошёл(а) в комнату
[21:39:16] ermine таращится на kpierre
[21:40:06] <ermine> gds: гляди, скоро здесь камлистов будет больше, чем хаскелистов в конкурирующей конфе
[22:05:07] <Typhon> массовый приступ некрофилии ^_^
[22:05:58] <ermine> точна
[22:06:19] <olegfink> а вы успели похоронить верблюдика?
[22:06:58] <ermine> мы успели признать что камло мертво
[22:07:03] <ermine> и что пора валить на схему
[22:07:36] <olegfink> да ладно, в окамле скобок хватает
[22:07:59] <olegfink> вот с хаскеля понятно, что валить надо, там из-за всяких $ скобок мало
[22:08:06] ermine недавно начинала читать "напишите сами имплементацию схемы на хаскиле", надо бы продолжить
[22:08:48] crysis вошёл(а) в комнату
[22:08:51] allien999 вошёл(а) в комнату
[22:08:59] <gds> ermine: вот-вот, я замечаю приток, но не понимаю -- зачем им?
[22:09:00] <Typhon> есть имплементация схемы на Фшарпе. мелькало в ленте недавно
[22:09:26] <olegfink> когда я был маленький и мне впервые показали код на окамле, то я, глянув на него разок, радостно возопил: "о, лисп!"
[22:10:17] <olegfink> правда, между прочим :-(
[22:10:32] crysis вышел(а) из комнаты
[22:10:58] Typhon вышел(а) из комнаты
[22:11:33] <ermine> на языках ML надо доказывать теоремы, а не писать всякую фигню
[22:12:02] crysis вошёл(а) в комнату
[22:12:04] <olegfink> ну если на то пошло, то на хаскеле надо писать диссертации, на схеме -- PE
[22:12:09] <olegfink> а для фигни есть питон
[22:12:43] <ermine> ну вот я и говорю - надо валить на схему!
[22:12:56] Typhon вошёл(а) в комнату
[22:13:28] <ermine> не, питон - это надмакроязык над машинными инструкциями, слишком уж императивно
[22:13:55] <olegfink> ну пока мне не покажут рабочее фрп, я буду утверждать, что вся фигня императивна
[22:14:46] <olegfink> вообще питон это синтаксический сахар для сисколлов линупс
[22:14:46] crysis вышел(а) из комнаты
[22:15:00] <olegfink> им вот недавно на реддите измеряли epoll
[22:15:05] <ermine> фигню лучше декларировать, но не доказывать
[22:15:19] allien999 вышел(а) из комнаты
[22:15:33] allien999 вошёл(а) в комнату
[22:18:14] allien999 вышел(а) из комнаты
[22:24:41] ygrek вошёл(а) в комнату
[22:34:49] Typhon вышел(а) из комнаты
[22:35:06] Typhon вошёл(а) в комнату
[22:35:15] Typhon вышел(а) из комнаты
[22:35:29] Typhon вошёл(а) в комнату
[23:05:55] ExplicitCall вошёл(а) в комнату
[23:07:51] iNode вышел(а) из комнаты
[23:20:24] kpierre вышел(а) из комнаты
[23:30:23] kpierre вошёл(а) в комнату
[23:30:36] kpierre вышел(а) из комнаты
[23:30:53] kpierre вошёл(а) в комнату
[23:39:09] serp256 вошёл(а) в комнату
[23:40:31] gds вышел(а) из комнаты
[23:43:28] serp256 вышел(а) из комнаты
[23:45:01] Typhon вышел(а) из комнаты
[23:45:16] Typhon вошёл(а) в комнату
[23:45:57] serp256 вошёл(а) в комнату
[23:51:01] f[x] вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!