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

GMT+3
[00:06:52] arhibot вышел(а) из комнаты
[00:08:12] gds вышел(а) из комнаты
[00:16:26] ermine вышел(а) из комнаты
[00:40:47] ygrek вышел(а) из комнаты
[00:40:50] ygrek вошёл(а) в комнату
[01:04:30] ygrek вышел(а) из комнаты
[01:11:37] Kakadu вышел(а) из комнаты
[01:40:00] arhibot вошёл(а) в комнату
[01:40:33] arhibot вышел(а) из комнаты
[02:07:59] komar вышел(а) из комнаты
[02:38:35] zert вышел(а) из комнаты
[02:53:03] Typhon вышел(а) из комнаты: Replaced by new connection
[02:53:06] Typhon вошёл(а) в комнату
[03:34:15] Typhon вышел(а) из комнаты: Replaced by new connection
[03:34:18] Typhon вошёл(а) в комнату
[04:11:20] Typhon вышел(а) из комнаты
[07:20:26] iNode вышел(а) из комнаты
[07:29:36] vshender вошёл(а) в комнату
[07:39:57] iNode вошёл(а) в комнату
[09:03:45] gds вошёл(а) в комнату
[09:23:14] <gds> f[x]: таки нашёл про Obj.magic то, о чём говорили вчера: http://caml.inria.fr/pub/ml-archives/caml-list/2007/04/1c8d85261e5913639d488c9b227e6838.en.html
[09:34:23] ygrek вошёл(а) в комнату
[10:00:12] serp256 вошёл(а) в комнату
[11:06:35] gds вышел(а) из комнаты
[11:07:19] gds вошёл(а) в комнату
[11:09:58] gds вышел(а) из комнаты: Replaced by new connection
[11:09:59] gds вошёл(а) в комнату
[11:12:33] komar вошёл(а) в комнату
[11:28:12] komar вышел(а) из комнаты
[11:56:05] <f[x]> gds: спасибо!
[11:56:17] <f[x]> но там нечто другое если я правильно понимаю :)
[11:58:49] <gds> а я вообще не понимаю, что там, если честно.  Cargo cult programming: делаю по лишней let-привязке с указанием типа, не зная, зачем именно.  А потом пляшу с бубном, чтобы отогнать злых сегфолтов.
[12:01:27] <f[x]> я тоже не понимаю, надо поиграться
[12:02:28] <gds> если раскопаешь, расскажи, интересно.
[12:11:43] ftrvxmtrx вышел(а) из комнаты
[12:13:05] <f[x]> логично предположить что ocamlopt заинлайнил всё по самые уши, а мусорщик потом напоролся
[12:17:51] <gds> если дальше строить предположения: исходя из инлайна компилятор из первой ветки ифа протащил информацию о том, что результат ифа -- значение int/unboxed, и мусорщику об этом тоже сообщил, тогда как вторая ветка возвращает boxed-значение, которое нужно регистрировать и собирать.
[12:19:22] <f[x]> не, я не понимаю
[12:19:52] <f[x]> в работающем коде разница только в какой-то переменной frametable
[12:20:09] <f[x]> т.е. может и так как ты говоришь, но я не понимаю
[12:22:41] <f[x]> если развернуть условие и поменять местами ветки то все варианты работают
[12:22:43] <f[x]> гг
[12:23:20] <gds> это да, так как предположение делается по первой ветке, видимо для упрощения.
[12:25:15] komar вошёл(а) в комнату
[12:25:37] <gds> посмотрел про работу с этой frametable -- нифига не понял.
[12:29:06] <f[x]> не юзайте, дети, Obj.magic
[12:29:34] f[x] сказал и закоммитил в ExtUnix соответствующий file_descr_of_int %)
[12:33:48] <gds> конкретно file_descr_of_int -- можно и оставить.  Не знаю, вроде если Obj.is_block, и если обложить let-привязками, работать будет.
[12:34:11] <f[x]> и если обряд жертвоприношения в inria совершить?
[12:35:46] <f[x]> запихнул ссылку в вики для будущих поколений
[12:41:37] zert вошёл(а) в комнату
[13:37:48] ermine вошёл(а) в комнату
[13:41:45] ftrvxmtrx вошёл(а) в комнату
[14:37:00] vshender вышел(а) из комнаты
[14:37:34] vshender вошёл(а) в комнату
[15:23:22] ygrek вышел(а) из комнаты
[16:06:42] <gds> раньше я делал with-функции (типа with_file_in_bin) с аргументами в конце, с типом (in_channel -> 'a) -> fname:string -> 'a, в расчёте на карринг.  Теперь кое-какие функции переписываю, ставя пользовательскую функцию в конец, в расчёте на синтаксическое удобство: with_file_in_bin "myfile" & fun in_ch -> ... -- и без скобок.
[16:09:55] f[x] второй вариант использует
[16:18:06] <gds> f[x]: а по каким причинам, если не секрет?
[16:19:16] <f[x]> обычно имя файла фиксированно - т.е. это не та функция которую буду в List.iter использовать
[16:20:15] <f[x]> т.е. все нужные данные - имя файла - сразу видны
with_open_out_txt "name" begin fun ch ->
  ...
end
[16:21:46] <gds> понял, смысл в этом есть.
[17:02:41] f[x] вышел(а) из комнаты
[17:06:08] f[x] вошёл(а) в комнату
[17:16:38] Kakadu вошёл(а) в комнату
[17:32:03] gds вышел(а) из комнаты
[17:39:06] iNode вышел(а) из комнаты
[18:30:26] gds вошёл(а) в комнату
[19:32:46] iNode вошёл(а) в комнату
[19:34:47] Typhon вошёл(а) в комнату
[19:36:44] serp256 вышел(а) из комнаты
[19:53:04] Typhon вышел(а) из комнаты: Replaced by new connection
[19:53:08] Typhon вошёл(а) в комнату
[20:04:18] <gds> а подскажите.  Если использую systhreads и запускаю процесс через Sys.command, это не будет блокировать другие треды?
И, чтобы два раза не вставать, спрошу вот что.  Если создаю треды через Thread.create, выхожу возвратом unit, но не прикладываю никаких усилий к тому, чтобы из главного процесса делать к ним join и подобное, у меня будут проблемы?
[20:33:50] <ermine> главный процесс завершится первым и прога схлопнется
[20:36:33] <Typhon> THR_DAEMON  This flag affects the daemon attribute  of the  thread. The  thread  is marked as a daemon.  The process will  exit  when  all non-daemon   threads  exit. Daemon threads  do  not  interfere  with the exit conditions for a process. -- для pthread.
так что если треды обычные, их будут ждать
[20:37:34] <Typhon> без join будут проблемы, по идее, если ты захочешь к чему-то обратиться, что должен пощитать один тред, но ещё не успел. ну вообще рассинхрон
[20:40:09] <ermine> join обычно юзают, чтобы дождаться и не дать схлопнуться главному процессу
[20:44:38] <gds> главный тред сам по себе не завершится у меня.  Но вот не будет ли оно течь в память..
В общем, идею понял, буду пробовать.
[21:01:40] ftrvxmtrx вышел(а) из комнаты
[21:06:10] Kakadu вышел(а) из комнаты
[21:09:39] komar вышел(а) из комнаты
[21:20:20] ygrek вошёл(а) в комнату
[21:20:36] ygrek вышел(а) из комнаты
[21:28:23] ygrek вошёл(а) в комнату
[21:38:48] ygrek нашивает плашку "+1 камлопатч"
[21:39:59] <ygrek> gds: у pthread есть атрибут который говорит будет ли система ждать пока тред join'ут или сразу освободит ресурсы когда он завершится, как оно в камле не знаю
[21:40:24] <ygrek> но вообще лучше не создавать бесконтрольно тредов - делаешь пул и очередь (ограниченную) к нему
[21:43:44] <ygrek> > The new archives don't look quite as good as the old ones, but at least dates are not mangled.
[21:44:05] <ygrek> рушат устои, ничего святого у них нет
[22:06:02] vshender вышел(а) из комнаты
[22:08:42] vshender вошёл(а) в комнату
[22:08:53] <gds> ygrek: а про что патч?
[22:12:21] <ygrek> та всё тот же, крэш в ocamlyacc
[22:17:03] ygrek вышел(а) из комнаты
[22:17:11] ygrek вошёл(а) в комнату
[22:25:57] ftrvxmtrx вошёл(а) в комнату
[22:28:58] komar вошёл(а) в комнату
[22:29:10] serp256 вошёл(а) в комнату
[22:36:34] serp256 вышел(а) из комнаты
[22:41:41] serp256 вошёл(а) в комнату
[23:11:16] serp256 вышел(а) из комнаты
[23:13:55] Sergey Plaksin вошёл(а) в комнату
[23:22:14] ygrek вышел(а) из комнаты
[23:22:17] ygrek вошёл(а) в комнату
[23:28:48] vshender вышел(а) из комнаты
[23:32:26] vshender вошёл(а) в комнату
[23:35:14] arhibot вошёл(а) в комнату
[23:53:25] komar вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!