Home
Objective Caml
ocaml@conference.jabber.ru
Пятница, 23 июля 2010< ^ >
ygrek установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся! | release crap | judge by commits, not comments | ocaml мёртв, move on
Конфигурация комнаты
Участники комнаты

GMT+4
[00:03:23] Typhon вышел(а) из комнаты: Replaced by new connection
[00:03:26] Typhon вошёл(а) в комнату
[00:04:50] zert вышел(а) из комнаты
[00:08:37] ygrek вошёл(а) в комнату
[00:47:15] vshender вошёл(а) в комнату
[00:50:31] Typhon вышел(а) из комнаты: Replaced by new connection
[00:50:34] Typhon вошёл(а) в комнату
[00:50:47] Typhon вышел(а) из комнаты
[00:51:02] Typhon вошёл(а) в комнату
[00:54:56] Typhon вышел(а) из комнаты: Replaced by new connection
[00:54:59] Typhon вошёл(а) в комнату
[01:16:15] rexim вышел(а) из комнаты
[01:26:06] ygrek вышел(а) из комнаты: Replaced by new connection
[01:26:08] ygrek вошёл(а) в комнату
[01:53:13] ygrek вышел(а) из комнаты
[01:57:19] ermine вышел(а) из комнаты
[02:18:59] Typhon вышел(а) из комнаты: Replaced by new connection
[02:19:02] Typhon вошёл(а) в комнату
[02:19:13] Typhon вышел(а) из комнаты
[02:19:32] Typhon вошёл(а) в комнату
[02:35:07] Typhon вышел(а) из комнаты: Replaced by new connection
[02:35:10] Typhon вошёл(а) в комнату
[02:41:36] Typhon вышел(а) из комнаты
[02:46:23] Typhon вошёл(а) в комнату
[03:00:55] Typhon вышел(а) из комнаты: Replaced by new connection
[03:00:58] Typhon вошёл(а) в комнату
[03:01:08] Typhon вышел(а) из комнаты
[03:01:21] Typhon вошёл(а) в комнату
[03:08:26] Typhon вышел(а) из комнаты
[04:35:49] iNode вышел(а) из комнаты
[08:06:10] iNode вошёл(а) в комнату
[08:57:38] gds вошёл(а) в комнату
[09:51:41] serp256 вошёл(а) в комнату
[10:04:36] Typhon вошёл(а) в комнату
[10:06:16] ygrek вошёл(а) в комнату
[10:09:37] arhibot вошёл(а) в комнату
[10:27:01] ermine вошёл(а) в комнату
[11:28:21] ʇsʎɯ вошёл(а) в комнату
[11:40:10] rexim вошёл(а) в комнату
[12:01:13] <ermine> gds: ты не сталкивался с тем, что в байткоде не работает принтф в сишнем коде?
[12:06:06] <gds> ermine: сталкивался.  fflush(stdout) делаешь?
[12:06:13] <gds> ну или как там оно, забыл точно.
[12:08:45] <gds> кстати, для отладочной печати полезен макрос вида
#define DBG(stmt) do { stmt; fflush(stdout); } while(0)
который можно заменять на
#define DBG(stmt)
в релизе, и который использовать так:
DBG(printf("fofyga=%i\n", 123));
[12:09:17] <ermine> fflush делаю
[12:10:32] <ermine> gds: я пока не пойму почему нативный код и байткод глючат по-разному, то бишь в нативе все пашыт, а в байткоде какие-то странности с caml_hash
[12:10:35] <gds> #include <stdio.h> точно есть?  -W -Wall стоит?  дескриптор не редиректится куда-нибудь в другое место (как изнутри программы, так и при её запуске)?
[12:11:58] <gds> в случаях, когда у меня печать не работает, пишу в файл с фиксированным именем, открывая его каждый раз, как понадобится записать строку.
[12:12:15] <gds> тупо, но работает.
[12:12:41] <ermine> gds: stdio не было, добавила, не помогло
[12:13:01] <gds> значит хз.
[12:13:33] <ermine> ну в макрос имеет смысл записать, если бы работал вообще
[12:13:38] <gds> это да.
[12:14:06] <ermine> надо расслабиться и подумать
[12:16:27] <ermine> gds: вчерашняя мысль насчет
type key = [`String of string | `Int of int]
type ('a, 'b) db
val create_recno : unit -> ([< key > `Int], [`None] db
[12:16:52] <ermine> или
type recno = private [< key > `Int] и подставить туда
[12:17:20] <ermine> такой метод вывел меня на возможность сделать список таких курсоров, которые типизируются совсем аналогично
[12:18:11] <ermine> и с pget проблема отпала:
[12:18:16] ygrek вышел(а) из комнаты
[12:19:10] <ermine> val pget : ([> key] as 'a, [> key] as 'b) db -> 'a -> 'b * string
[12:20:09] <ermine> gds: для меня самым удивительным было то, что в одном месте используются варианты с аргументом, в другом  - без
[12:31:28] <ermine> а вот теперь такой биндинг работает только в нативном коде
[12:31:31] <ermine> мистика
[12:33:30] <ermine> а
[12:34:55] <ermine> байткод чота ташил не ту дллшку, а точнее - старую
[12:35:59] <gds> ты убила всю мистику!
[12:36:15] <ermine> пока не всю
[12:37:53] <ʇsʎɯ> кто поминал меня всуе?
[12:43:14] zert вошёл(а) в комнату
[12:51:23] <ermine> gds: а что надо, чтобы байткод находил сошку?
[12:56:25] <gds> ermine: вот самый полный ответ: http://caml.inria.fr/pub/docs/manual-ocaml/manual024.html#s-ocamlrun-dllpath
[13:03:39] <ermine> а там написано отличие от нативного варианта?
[13:03:46] <ermine> нативный находит сошку
[13:04:30] <ermine> dllpath - это наверное для инсталляции
[13:05:20] <f[x]> нативный ищет по правилам ld.so т.е. в LD_LIBRARY_PATH, в кэше, в /lib /usr/lib
[13:06:59] <ermine> и текущем каталоге
[13:07:30] <f[x]> нет
[13:08:52] <ermine> а находит, наверное потому что есть --clib -L.
[13:09:08] <ermine> но байткод к этому равнодушен
[13:09:37] <f[x]> ocamlrun ищет в CAML_LD_LIBRARY_PATH и в пути зашитом в бинарник с помощью -dllpath и в stdlib path
[13:11:43] <f[x]> см. kamlo/bindings/portability
[13:15:28] <ermine> а мне скорее для надо для случая "прогонять тесты перед инсталляцией"
[13:15:48] <ermine> поэтому пока не понимаю чего-то :)
[13:19:28] <gds> если тесты, то CAML_LD_LIBRARY_PATH=. выставляй, наверное.
[13:24:59] <ermine> ага, так находит
[13:25:19] <ermine> смущает то, что я такого вроде у "соседей" не видела - в других пакетах
[13:25:37] <gds> может соседи сначала инсталлируются, а потом запускают тесты?
[13:28:32] <f[x]> я -dllpath для тестов использую
[13:29:20] <ermine> а что туда пишешь? точку?
[13:29:29] <f[x]> т.е. всё что собирается тем же камлобилд плагином что и либа - линкуется локально - через -I . (native) или -dllpath _build (byte)
[13:30:13] <ermine> ну значит у меня в плагине камлобилда какая-то оптимизированная лажа
[13:30:17] <f[x]> многие ещё просто делают -custom и не заморачиваются :)
[13:30:52] <ermine> а, custom
[14:59:03] ygrek вошёл(а) в комнату
[14:59:19] ygrek вышел(а) из комнаты
[15:56:07] <f[x]> аргх, libevent возвращает EV_READ|EV_WRITE, а у камлевого биндинга это не предусмотрено, всё самому приходится делать!
[17:27:45] arhibot вышел(а) из комнаты
[17:32:25] gds вышел(а) из комнаты
[18:02:29] iNode вышел(а) из комнаты
[18:20:27] gds вошёл(а) в комнату
[18:36:53] komar вышел(а) из комнаты
[18:40:32] Typhon вышел(а) из комнаты
[18:53:28] arhibot вошёл(а) в комнату
[18:58:15] ʇsʎɯ вышел(а) из комнаты
[19:41:15] komar вошёл(а) в комнату
[19:51:55] arhibot вышел(а) из комнаты
[20:09:35] arhibot вошёл(а) в комнату
[20:10:16] <f[x]> x/60a $rsp гораздо круче чем bt для камлевых програм :)
[20:10:16] zert вышел(а) из комнаты
[20:10:16] gds вышел(а) из комнаты
[20:15:06] arhibot вышел(а) из комнаты
[20:15:58] serp256 вышел(а) из комнаты
[20:38:08] f[x] вышел(а) из комнаты
[21:05:08] arhibot вошёл(а) в комнату
[21:24:47] gds вошёл(а) в комнату
[21:37:27] <gds> 3.12.0+rc1 -- та же срань с camlp4, ничего не пофиксили насчёт компиляции под mingw.  Чую, не буду 3.12.0 рассматривать вообще.
С другой стороны -- вопрос.  Если заголовочный файл из $OCAMLLIB/caml/ использует тип value, то должен быть #include "mlvalues.h".  Тогда как в вендовом unixsupport.h его нет.  Репортить ли, думаю.
[21:45:37] <ermine> а когда выйдет?
[22:15:49] <gds> "Unless there is any show-stopping bug, this will become 3.12.0 next week"
[22:16:05] <gds> (какой я актуально-своевременный, аж поражаюсь)
[23:01:08] ygrek вошёл(а) в комнату
[23:03:49] <ygrek> gds: не обязательно
[23:11:13] Typhon вошёл(а) в комнату
[23:12:52] rexim вышел(а) из комнаты
[23:15:02] <ygrek> пол-мантиса в багах, а у них релиз-кандидат
[23:17:37] <Typhon> видимо coq собирается, все остальное не считается show-stopping.
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!