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

GMT+3
[00:34:42] ygrek вышел(а) из комнаты
[00:54:02] ermine вышел(а) из комнаты
[02:37:50] valexey вышел(а) из комнаты
[03:32:09] iNode вышел(а) из комнаты
[04:15:59] Typhon вышел(а) из комнаты
[08:53:11] iNode вошёл(а) в комнату
[09:41:13] gds вошёл(а) в комнату
[10:27:17] ygrek вошёл(а) в комнату
[10:39:48] Kakadu вошёл(а) в комнату
[10:39:58] Kakadu вышел(а) из комнаты
[11:03:13] gds вышел(а) из комнаты
[12:02:27] ermine вошёл(а) в комнату
[12:30:23] Typhon вошёл(а) в комнату
[13:09:57] ygrek вышел(а) из комнаты
[13:24:25] Typhon вышел(а) из комнаты
[14:24:15] <ermine> хнык, как в камлевом биндинге регистрировать калбэки, которых нечем индексировать
[14:26:56] ygrek вошёл(а) в комнату
[14:43:54] Typhon вошёл(а) в комнату
[14:49:22] vojlw4dcaq0ue вошёл(а) в комнату
[14:49:26] vojlw4dcaq0ue вышел(а) из комнаты
[14:56:03] sceptic вышел(а) из комнаты
[15:01:56] <ygrek> в чём проблема register_global_root сделать?
[15:02:46] <ermine> калбеки надо к чему-то привязывать контекстно
[15:03:14] <ermine> а если не видно, контекста?
[15:03:50] <ermine> я в гугле таки увидела исходники старого ocamlbdb, там тоже нет калбеков
[15:04:25] <ermine> в ocurl калбек создается только один для данного контекста, которое является connection
[15:05:24] <ermine> пока читаю все подряд в гугле, может идеи появятся когда-нить
[15:05:56] <ermine> одно из решений подходит, когда калбек вида int -> int -> unit, тогда он просто даже не регистрится а втупую мапится
[15:06:43] <ermine> но такой халявы с типами у меня нет
[15:09:32] <ygrek> покажи пример функции из bdb, чтобы без контекста
[15:10:05] <ygrek> если без контекста - то это типа глобальная функция - тогда один раз его регистрируешь и всё в глобальную камлофункцию
[15:12:02] <ermine> в bdb все функции, требующие калбеки - без контекста, калбеком может быть функция сортировки, например
[15:13:19] <ermine> ygrek: и тогда не получится создать другой калбек для той же сишней функции, но с другими аргументами
[15:13:24] <ygrek> т.е. не привязаны к хэндлу базы??
[15:13:54] <ygrek> получится - будет глобальная функция вида (fun x y -> !callback x y)
[15:14:28] <ermine> ну хэндлы можно придумать, но они тогда должны состоять из групп хэндлов скорее, которых фиг изнутри калбэка найдешь
[15:16:01] <ermine> да, проблема как раз в том, как пометить разные калбэки одной сигнатуры для данной сишной функции
[15:16:09] ux4ic9lhquzqwo вошёл(а) в комнату
[15:16:18] ux4ic9lhquzqwo вышел(а) из комнаты
[15:16:28] <ermine> палюбому все время хочется передать в сишный калбэк какую-нибудь меточку
[15:16:41] xqfstxkklqrz вошёл(а) в комнату
[15:16:43] xqfstxkklqrz вышел(а) из комнаты
[15:17:03] <ermine> наверное поэтому нет до сих пор развитого bdb биндинга?
[15:17:52] <ermine> надо посмотреть есть ли хаскильный биндинг...
[15:21:12] <ermine> ygrek: http://www.oracle.com/technology/documentation/berkeley-db/db/api_reference/C/dbassociate.html
[15:22:02] <ermine> ygrek: самая первая функция, о которой я бьюсь, позволяет сцеплять две базы, где вторая база - альтернативный индекс к первой
[15:22:34] sceptic вошёл(а) в комнату
[15:23:09] <ermine> в калбэк передается хэндл индексной базы, и не понять из контекста, к какой примари она прицеплена
[15:23:38] <ermine> надо делать допущение, что примари у тебя только одна
[15:24:40] <ygrek> есть же контекст
[15:24:49] <sceptic> olegfink: http://img221.imageshack.us/img221/2783/contextmenu.png
[15:25:02] <ygrek> в функцию не передаются, но он есть при вызове
[15:25:49] <ermine> при вызове чего?
[15:26:39] <ygrek> а, сорри, кажется да
[15:26:59] <ermine> структуру базы можно завернуть в еще одну структуру, куда дописывать контекст? :) есть такие мысли
[15:27:13] <ygrek> стоп, а туда же передаётся DB* secondary
[15:27:25] <ygrek> можно завязаться на пару primary+secondary
[15:27:25] <ermine> но он в вызове associate не нужен
[15:28:09] <ermine> Typhon: и как в калбэке увидеть эту пару?
[15:28:27] <ygrek> ну там только secondary
[15:28:30] <ermine> скажем, под калбэком мы имеем в виду статическую сишнюю функцию
[15:29:07] <ermine> вот в этом калбеке неплохо было бы увидеть кто примари
[15:29:10] <ygrek> представь как бы ты писала это на сях - у тебя там даже клозур нет
[15:29:30] <ygrek> скорее всего запихнула бы в глобальную переменную
[15:29:49] <ermine> это бесит, что в цэ нет клозур
[15:30:12] <ermine> если бы я писала на цэ - я бы просто конкретную функцию передала и не мучалась бы
[15:31:38] <ermine> ygrek: да пофиг мне кто в примари сидит, я беспокоюсь лишь о том, чтобы выбрать правильный камлевый клозур из кучи подобных
[15:31:44] <ygrek> а если так :
при вызове associate записываешь в db* secondary value камловского callback'а, а потом из сишного cb его вызываешь?
[15:31:45] <Typhon> разве в си замыкания нельзя замутить?
[15:32:07] <Typhon> (сэмулировать, типа)
[15:34:35] <ermine> ygrek: не поняла, но наверное это не то
[15:34:59] <ermine> Typhon: можно передавать указатели на статические функции
[15:35:21] <ermine> Typhon: бесит и то, что нельзя определить функцию внутри функции
[15:39:02] <Typhon> эмм, емнип,  gcc это позволяет, если только внутри ее использовать будешь
[15:41:21] <ermine> а это в с99 описано?
[15:41:27] <Typhon> не, это не стандартно
[15:41:28] <Typhon> :)
[15:51:55] <ermine> ygrek: пока в этой функции буду юзать secondary db как метку, потом посмотрим
[15:52:29] <ermine> больше не за что зацепиться
[16:52:48] sceptic вышел(а) из комнаты
[17:57:57] Typhon замутил инсталлятор для OVerlbd.
[18:08:25] digital_curse вышел(а) из комнаты: Replaced by new connection
[18:24:38] sceptic вошёл(а) в комнату
[18:38:18] gds вошёл(а) в комнату
[18:48:24] <gds> Typhon: это интересно.  Но mingw не умеет иметь префикс с пробелами (так говорят; может msys тоже не умеет; хочется продумать и избежать пользовательских ошибок).  И я не прочь узнать, как инсталлятор с окамлом делать автоматически, ибо внешние зависимости (mingw, msys и сишные либы) таки меняются, это надо тоже учитывать.
[18:49:32] <Typhon> ага, я ща гоняю инсталлятор, ловлю ошибки какие-то, правлю -- как это будет в более менее рабочем состоянии -- сообщу и выложу файло
[18:51:16] <gds> о да, буду не прочь потестировать инсталлятор на свежей машине (win32 xp, скучный вариант).
[18:55:19] <Typhon> еще вот с чем столкнулся: в Path пользовательский попал путь с "Program Files(x86)" так bash после этого не мог найти /usr/bin/rm. после удаления все ок стало
[19:06:32] <Typhon> еще интересное: если запусать bld.bat или иной батник с 'bash -c "./bld.sh dir"' то оно заставляет cmd с ошибкой вылетать. если runbash -> затем ручками тоже самое, все ок. (падает на применении патчей).
[19:49:20] <gds> про "bash -c" -- да, видел эту срань.  runbash таки помогает.  из-под фара пытался bld.bat, и оно ругалось на неведомую странную ошибку -- я так и понял, что с консолями ввенде риальни криво дела.  От того и указал в README, что штатная сборка делается уже после того, как в отдельной консоли запущен bash.  Криво, да.
Насчёт " (x86)" --
$ mkdir "/c/Program Files (x86)"
$ export PATH="/c/Program Files (x86):$PATH"
$ echo $PATH
/c/Program Files (x86):/c/dev/overbld/20100321/mingw/bin:/usr/bin:/c/dev/overbld
/20100321/hg:/c/dev/overbld/20100321/gtk/bin:/c/dev/overbld/20100321/7zip:[...]
$ rm
rm: missing operand
Try `rm --help' for more information.
$
кагбэ ок.  Если не забуду, завтра посмотрю под виндой7, что там с path.
[20:07:37] <ermine> rm -f
[20:09:48] <Typhon> gds, из cmd echo bld.sh | bash -- кажется, помогает, но оно размывазывается по консолькам, постоянно мигает окошками и вообще ведет себя всячески не юзер-фрейнлди :( не видно процесса. с runbash для инсталлятора, я считаю, тема не покатит, потому что это инсталлятор и ручками по идее ничего не надо вбивать.
[20:10:54] <gds> ermine: rm -rf / это ок, ок.
[20:12:00] <Typhon> *размазывается :)
[20:12:36] <gds> Typhon: как вариант -- сгенерироить баш-скрипт (может использующий правильно выставленные переменные окружения).  Я сейчас весьма туплю, поэтому могу ошибаться, но что мешает сделать как-то через "bash -c ./the-script"?
[20:12:49] <ermine> gds: не, rm -f с пустым аргументом
[20:12:50] <Typhon> уже пробовал
[20:14:27] <ermine> gds: просто у меня такая реакция на "try --help ..."
[20:16:11] ermine бродит по гуглу в поисках рассказиков про gc, roots и прочего камля
[20:18:11] sceptic вышел(а) из комнаты
[20:26:36] <Typhon> либо оно падает на применении 100_mingw__paths_in_config_Makefile, либо делает дело, но не сидит в окне. надо сделать перерыв и засмореть что-нибудь типа The Boondock Saints 2 :)
[20:27:21] Typhon вышел(а) из комнаты
[20:27:24] serp256 вошёл(а) в комнату
[20:27:51] <gds> Typhon: сейчас не особо могу пробовать что-либо; давай, если там не зависит от текущей инсталлированной венды, пушь в репку в ovm-root куда-нибудь (так, чтобы было понятно).
про название "the .. 2" -- попробую таки :)
[20:28:09] sceptic вошёл(а) в комнату
[21:07:27] olegfink вышел(а) из комнаты
[21:07:28] olegfink вошёл(а) в комнату
[21:07:33] olegfink вышел(а) из комнаты
[21:07:34] olegfink вошёл(а) в комнату
[21:22:15] serp256 вышел(а) из комнаты
[22:12:43] sceptic вышел(а) из комнаты
[22:14:59] sceptic вошёл(а) в комнату
[23:14:45] Kakadu вошёл(а) в комнату
[23:15:25] Kakadu вышел(а) из комнаты
[23:17:01] Typhon вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!