Home
Objective Caml
ocaml@conference.jabber.ru
Понедельник, 3 октября 2011< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | http://camlunity.ru/ (теперь с git доступом!) | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв и тормозит, move on | stdlib only? - ССЗБ
Конфигурация комнаты
Участники комнаты

GMT+4
[00:05:28] gds вышел(а) из комнаты
[00:12:53] <ygrek> рэндзю для простолюдинов, шахматы - удел воинов, го - игра богов
[00:12:57] <ygrek> так то!
[00:14:00] <ygrek> Typhon: это ты типа багу присунул?
[00:14:37] <ygrek> вообще странно, опциональные аргументы существуют якобы для ,acward-compatible расширения функционала
[00:14:49] <ygrek> а вот поди ж ты
[00:14:58] <Typhon> ygrek, хз, чья бага
[00:15:13] <Typhon> в логе камла на этот счёт коммиты про бэквард-компатибилити как раз только
[00:15:15] <Typhon> типа, импрув
[00:15:17] <Typhon> ан нет
[00:15:19] <ygrek> интересно, а не могли бы ли камло само констрейнить сигнатуру функции с опциональными
[00:15:32] <ygrek> какие коммиты?
[00:16:13] <ygrek> не, в принципе их тоже можно понять, тем более что по реализации то это лишний аргумент
[00:16:46] <ygrek> а констрейн сигнатурой по идее новый модуль не создаёт, и такие функции несовместимы
[00:16:47] <Typhon> http://caml.inria.fr/svn/ocaml/trunk@11204 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
[00:17:08] <Typhon> или гитхаб миррор ae3db2965b7c397b062135f705b5f771538d6c55
[00:17:57] <Typhon> и про Hashtbl и про optional это последнее, про то, чтобы законстрейнили не видно ничего
[00:18:55] <ygrek> не, это же для Make
[00:19:18] <ygrek> но ясно, спасибо
[00:19:54] <ygrek> кстати хороо что напомнил, там ещё бага в Std.dump непофикшена
[00:21:32] <Typhon> блин, а у type-conv issue tracker'а на фордже нету, некуда присунуть
[00:24:00] <ygrek> ПРОПРИЕТАРНАЯ ПОДЕЛКА!
[00:36:14] <Typhon> смешное -- бага с версиями в оазисе присутствует в дев-репке оазиса
[00:36:29] <Typhon> вот казалось кто должен точно перегенерировать файлы с каждым коммитом %)
[00:56:08] <Typhon> bobry, а el-get поддерживает мармелад?
[00:56:28] <bobry> Typhon: el-get умеет elpa
[00:56:29] <Typhon> или это просто для package.el источник
[00:56:38] <bobry> ага
[00:56:59] <bobry> в мармеладе кстати 2.0.5 версия -- с фиксами для emacs24
[00:57:05] <Typhon> а может наконтрибьютишь тогда? %)
[00:57:59] <bobry> так тебе просто пул реквест поправить :)
[00:58:16] <bobry> просто :type на elpa
[00:58:22] <Typhon> хм
[00:58:31] <Typhon> а, надо посмотреть на рецепты, да
[01:01:46] <Typhon> ну с elpa что-то не ставится
[01:02:10] ответ вышел(а) из комнаты: Disconnected: connection closed
[01:04:30] <bobry> Typhon: шо пишет? ты marmalade настроил?
[01:05:08] <Typhon> а должен?
[01:07:38] <Typhon> остальные рецепты, которые с elpa не настраивают источников, мармелад указан в рецепте для package.el
[01:08:32] <bobry> hrm
[01:08:43] <bobry> ну по идее твой рецепт тоже не должен настраивать источники
[01:11:14] <Typhon> Wrong type argument: number-or-marker-p, (tuareg-mode)
[01:12:56] <bobry> эх, странно
[01:15:23] <Typhon> так что удаляй комментарий! :)
[01:22:16] <bobry> http://www.reddit.com/r/programming/comments/ky6uc/nodejs_is_cancer/c2o7nnj
[01:22:18] <bobry> :D
[01:25:51] Kakadu вышел(а) из комнаты
[01:55:36] ygrek вышел(а) из комнаты
[02:13:49] zbroyar вошёл(а) в комнату
[02:41:46] ftrvxmtrx вошёл(а) в комнату
[03:36:34] letrec вошёл(а) в комнату
[03:36:41] letrec вышел(а) из комнаты
[03:36:57] letrec вошёл(а) в комнату
[04:08:57] <Typhon> плохо ли, что в интерфейс р-та Weak.Make в 3.13 не совсем соответствует интерфейсу Hashtbl ? create без seed, stats возвращает тупль, а не рекорд. в окамеле самом на р-т сигнатура не повешена, а вот в батарейках от batWeak.Make хотят интерфейса Hashtbl.S и слегка печалятся
[04:52:32] letrec вышел(а) из комнаты
[05:21:31] Typhon вышел(а) из комнаты
[05:34:19] <zbroyar> bobry: этот Тед Дзюба - вообще какой-то хейтер
[05:36:19] zbroyar вышел(а) из комнаты
[06:28:39] komar вышел(а) из комнаты
[07:04:35] komar вошёл(а) в комнату
[07:16:20] ftrvxmtrx вышел(а) из комнаты
[07:16:30] ftrvxmtrx вошёл(а) в комнату
[07:21:27] ftrvxmtrx вышел(а) из комнаты
[07:21:37] ftrvxmtrx вошёл(а) в комнату
[07:27:12] ftrvxmtrx вышел(а) из комнаты
[07:27:23] ftrvxmtrx вошёл(а) в комнату
[07:32:44] ftrvxmtrx вышел(а) из комнаты
[07:33:01] ftrvxmtrx вошёл(а) в комнату
[07:34:34] ftrvxmtrx вышел(а) из комнаты
[07:35:02] ftrvxmtrx вошёл(а) в комнату
[07:36:36] ftrvxmtrx вышел(а) из комнаты
[07:38:40] ftrvxmtrx вошёл(а) в комнату
[07:41:37] ftrvxmtrx вышел(а) из комнаты
[07:41:48] ftrvxmtrx вошёл(а) в комнату
[07:42:49] ftrvxmtrx вышел(а) из комнаты
[07:43:31] ftrvxmtrx вошёл(а) в комнату
[07:46:43] ftrvxmtrx вышел(а) из комнаты
[07:48:56] ftrvxmtrx вошёл(а) в комнату
[07:50:00] ftrvxmtrx вышел(а) из комнаты
[07:50:32] ftrvxmtrx вошёл(а) в комнату
[07:55:31] ftrvxmtrx вышел(а) из комнаты
[07:55:42] ftrvxmtrx вошёл(а) в комнату
[07:56:49] ftrvxmtrx вышел(а) из комнаты
[07:57:14] ftrvxmtrx вошёл(а) в комнату
[07:57:59] ftrvxmtrx вышел(а) из комнаты
[07:58:22] ftrvxmtrx вошёл(а) в комнату
[08:33:19] ftrvxmtrx вышел(а) из комнаты
[08:33:34] ftrvxmtrx вошёл(а) в комнату
[08:39:44] ftrvxmtrx вышел(а) из комнаты
[08:40:02] ftrvxmtrx вошёл(а) в комнату
[08:41:28] ftrvxmtrx вышел(а) из комнаты
[08:41:49] ftrvxmtrx вошёл(а) в комнату
[08:43:01] ftrvxmtrx вышел(а) из комнаты
[08:43:31] ftrvxmtrx вошёл(а) в комнату
[08:48:03] ftrvxmtrx вышел(а) из комнаты
[08:48:39] ftrvxmtrx вошёл(а) в комнату
[08:52:48] ftrvxmtrx вышел(а) из комнаты
[08:53:47] ftrvxmtrx вошёл(а) в комнату
[08:57:46] ftrvxmtrx вышел(а) из комнаты
[08:57:55] ftrvxmtrx вошёл(а) в комнату
[09:00:42] sceptik вошёл(а) в комнату
[09:00:46] sceptik вышел(а) из комнаты
[09:04:42] ftrvxmtrx вышел(а) из комнаты
[09:05:02] zert вошёл(а) в комнату
[09:05:18] ftrvxmtrx вошёл(а) в комнату
[09:08:45] ftrvxmtrx вышел(а) из комнаты
[09:08:55] ftrvxmtrx вошёл(а) в комнату
[09:18:48] ftrvxmtrx вышел(а) из комнаты
[09:19:03] ftrvxmtrx вошёл(а) в комнату
[09:19:54] ftrvxmtrx вышел(а) из комнаты
[09:20:11] ftrvxmtrx вошёл(а) в комнату
[09:24:34] ftrvxmtrx вышел(а) из комнаты
[09:26:18] ftrvxmtrx вошёл(а) в комнату
[09:29:02] ftrvxmtrx вышел(а) из комнаты
[09:29:36] ftrvxmtrx вошёл(а) в комнату
[09:38:17] ftrvxmtrx вышел(а) из комнаты
[09:38:38] ftrvxmtrx вошёл(а) в комнату
[09:44:55] ftrvxmtrx вышел(а) из комнаты
[09:45:53] ftrvxmtrx вошёл(а) в комнату
[09:50:39] ftrvxmtrx вышел(а) из комнаты
[09:51:00] ftrvxmtrx вошёл(а) в комнату
[09:55:06] ftrvxmtrx вышел(а) из комнаты
[09:55:21] ftrvxmtrx вошёл(а) в комнату
[09:59:40] ftrvxmtrx вышел(а) из комнаты
[09:59:58] ftrvxmtrx вошёл(а) в комнату
[10:09:52] ftrvxmtrx вышел(а) из комнаты
[10:10:06] ftrvxmtrx вошёл(а) в комнату
[10:14:50] ftrvxmtrx вышел(а) из комнаты
[10:15:14] ftrvxmtrx вошёл(а) в комнату
[10:16:25] ftrvxmtrx вышел(а) из комнаты
[10:17:13] ftrvxmtrx вошёл(а) в комнату
[10:19:35] ftrvxmtrx вышел(а) из комнаты
[10:19:53] ftrvxmtrx вошёл(а) в комнату
[10:25:41] ftrvxmtrx вышел(а) из комнаты
[10:26:03] ftrvxmtrx вошёл(а) в комнату
[10:27:24] ftrvxmtrx вышел(а) из комнаты
[10:27:43] ftrvxmtrx вошёл(а) в комнату
[10:33:49] ermine вошёл(а) в комнату
[10:34:44] ftrvxmtrx вышел(а) из комнаты
[10:35:20] ftrvxmtrx вошёл(а) в комнату
[10:36:02] Kakadu вошёл(а) в комнату
[10:40:19] <ermine> Kakadu: нушо?
[10:40:40] ftrvxmtrx вышел(а) из комнаты
[10:40:58] ftrvxmtrx вошёл(а) в комнату
[10:42:16] <Kakadu> ermine: а я думал тебя тут нет...
[10:42:27] <Kakadu> попробуй -lstdc++
[10:43:15] ftrvxmtrx вышел(а) из комнаты
[10:43:24] ftrvxmtrx вошёл(а) в комнату
[10:45:59] <ermine> куда?
[10:46:20] ftrvxmtrx вышел(а) из комнаты
[10:47:14] ftrvxmtrx вошёл(а) в комнату
[10:47:39] <Kakadu> test_gen/Makefile
[10:47:45] <Kakadu> там где ocamlmllib
[10:47:49] <Kakadu> mklib*
[10:48:54] ygrek вошёл(а) в комнату
[10:49:54] ftrvxmtrx вышел(а) из комнаты
[10:50:22] ftrvxmtrx вошёл(а) в комнату
[10:52:54] ftrvxmtrx вышел(а) из комнаты
[10:55:08] ftrvxmtrx вошёл(а) в комнату
[10:57:29] ftrvxmtrx вышел(а) из комнаты
[10:58:12] klapaucius вошёл(а) в комнату
[10:59:16] ftrvxmtrx вошёл(а) в комнату
[11:06:00] <Kakadu> ermine: как ты там?
[11:07:05] <ermine> Kakadu: занята, некогда было искать куда вписывать
[11:07:26] ftrvxmtrx вышел(а) из комнаты
[11:08:37] f[x] вошёл(а) в комнату
[11:08:42] <Kakadu> ermine: я за тебя вписал, пулься
[11:09:02] <Kakadu> правда это не заработает, потому что "так не бывает"
[11:09:27] ftrvxmtrx вошёл(а) в комнату
[11:10:07] ftrvxmtrx вышел(а) из комнаты
[11:10:48] <ermine> запустила сборку, щас занята
[11:10:52] ftrvxmtrx вошёл(а) в комнату
[11:11:33] ftrvxmtrx вышел(а) из комнаты
[11:12:00] ftrvxmtrx вошёл(а) в комнату
[11:13:05] bobry вошёл(а) в комнату
[11:21:18] <ermine> Kakadu: если
UserSlots.o moc_UserSlots.o \
                UserSlots.cmo UserSlots_stubs.cmo main.cmo -o test
валидная последняя строчка, то всё
[11:21:52] <ermine> а, это не начало команды :)
[11:21:56] <ermine> в общем вот
[11:22:40] <Kakadu> не понял
[11:23:40] <Kakadu> ну да, вроде всё
[11:24:01] <Kakadu> cd test_gen/test6; ./test
[11:24:05] <ermine> Kakadu:
ocamlfind c -g  -custom -I /usr/lib/ocaml -I . -I ./.. -I ./../out lablqt.cma UserSlots.o moc_UserSlots.o \
                UserSlots.cmo UserSlots_stubs.cmo main.cmo -o test
[11:24:13] <ermine> это последняя команда?
[11:24:15] <Kakadu> да
[11:24:27] <ermine> ну тогда пляши
[11:24:35] <ermine> давай код горгоны
[11:24:44] <ermine> а оно проинсаллится?
[11:24:58] <Kakadu> ermine: не-а
[11:26:08] <ermine> тогда я не умею собирать искореженную горгону с этим
[11:26:59] <Kakadu> я пушнул test6
[11:30:33] ftrvxmtrx вышел(а) из комнаты
[11:31:05] ftrvxmtrx вошёл(а) в комнату
[11:35:11] <ermine> Kakadu: что запустить?
[11:39:21] <Kakadu> touch .depend; mkae depend; mkae; ./test
[11:40:24] ftrvxmtrx вышел(а) из комнаты
[11:40:36] <ermine> это в каком каталоге?
[11:40:57] <Kakadu> test4,test5,test6
[11:41:15] <ermine> в test6 не работает make depend
[11:42:12] ftrvxmtrx вошёл(а) в комнату
[11:42:18] <Kakadu> ln -s ../../moc/main.opt mocml
[11:42:40] <ermine> хех
[11:42:46] <ermine> как много ручной работы
[11:43:36] <Kakadu> щамдопилю
[11:44:53] ftrvxmtrx вышел(а) из комнаты
[11:46:23] <ermine> о, окошко
[11:46:50] ftrvxmtrx вошёл(а) в комнату
[11:46:56] <ermine> Kakadu: маладец, работает же, теперь налаживай систему сборки и инсталляции
[11:49:32] <ermine> вот бы еще допинать JS, чтобы допилили свою кору
[11:50:01] <Kakadu> ermine: ты про зависимости с type-conv?
[11:52:00] ftrvxmtrx вышел(а) из комнаты
[11:52:27] ftrvxmtrx вошёл(а) в комнату
[11:52:33] <ermine> Kakadu: нет, под фрей core не компилится
[11:53:20] ftrvxmtrx вышел(а) из комнаты
[11:53:38] ftrvxmtrx вошёл(а) в комнату
[11:56:39] ftrvxmtrx вышел(а) из комнаты
[11:58:45] ftrvxmtrx вошёл(а) в комнату
[12:01:41] ftrvxmtrx вышел(а) из комнаты
[12:03:23] ftrvxmtrx вошёл(а) в комнату
[12:10:18] ygrek вышел(а) из комнаты
[12:14:10] Typhon вошёл(а) в комнату
[12:18:39] gds вошёл(а) в комнату
[12:19:24] ftrvxmtrx вышел(а) из комнаты
[12:20:01] ftrvxmtrx вошёл(а) в комнату
[12:20:48] ftrvxmtrx вышел(а) из комнаты
[12:21:08] ftrvxmtrx вошёл(а) в комнату
[12:27:02] ftrvxmtrx вышел(а) из комнаты
[12:27:24] ftrvxmtrx вошёл(а) в комнату
[12:52:03] ftrvxmtrx вышел(а) из комнаты
[12:52:32] ftrvxmtrx вошёл(а) в комнату
[12:53:34] ftrvxmtrx вышел(а) из комнаты
[12:54:16] ftrvxmtrx вошёл(а) в комнату
[12:55:38] ftrvxmtrx вышел(а) из комнаты
[12:55:59] ftrvxmtrx вошёл(а) в комнату
[12:59:42] ftrvxmtrx вышел(а) из комнаты
[12:59:59] ftrvxmtrx вошёл(а) в комнату
[13:02:27] shaggie вошёл(а) в комнату
[13:03:44] ftrvxmtrx вышел(а) из комнаты
[13:04:06] ftrvxmtrx вошёл(а) в комнату
[13:05:28] ftrvxmtrx вышел(а) из комнаты
[13:05:37] ftrvxmtrx вошёл(а) в комнату
[13:08:42] ftrvxmtrx вышел(а) из комнаты
[13:10:45] ftrvxmtrx вошёл(а) в комнату
[13:11:47] ftrvxmtrx вышел(а) из комнаты
[13:13:54] ftrvxmtrx вошёл(а) в комнату
[13:14:33] ftrvxmtrx вышел(а) из комнаты
[13:15:02] ftrvxmtrx вошёл(а) в комнату
[13:17:33] ftrvxmtrx вышел(а) из комнаты
[13:17:44] ftrvxmtrx вошёл(а) в комнату
[13:18:27] <Typhon> gds: http://www.foobnix.com/welcome?lang=ru  с виду ок!
[13:18:51] ygrek вошёл(а) в комнату
[13:19:11] ygrek вышел(а) из комнаты
[13:19:31] ftrvxmtrx вышел(а) из комнаты
[13:19:34] ygrek вошёл(а) в комнату
[13:19:59] <f[x]> хм, mpd же
[13:20:21] <f[x]> и ario/sonata/gmpc на выбор
[13:20:25] ftrvxmtrx вошёл(а) в комнату
[13:21:03] ftrvxmtrx вышел(а) из комнаты
[13:21:33] ftrvxmtrx вошёл(а) в комнату
[13:22:13] Kakadu в шоке от того, что намошнили в peqt
[13:22:16] <Kakadu> pyqt*
[13:22:58] ftrvxmtrx вышел(а) из комнаты
[13:23:27] ftrvxmtrx вошёл(а) в комнату
[13:25:31] ftrvxmtrx вышел(а) из комнаты
[13:25:39] ftrvxmtrx вошёл(а) в комнату
[13:28:28] ftrvxmtrx вышел(а) из комнаты
[13:29:00] ftrvxmtrx вошёл(а) в комнату
[13:29:52] <Typhon> f[x]: вот мне ща тоже про mpd сказали, но там эти гуи клиенты не такие! но mpd с mpc надо попробовать
[13:33:00] ygrek вышел(а) из комнаты
[13:33:58] ftrvxmtrx вышел(а) из комнаты
[13:35:38] ftrvxmtrx вошёл(а) в комнату
[13:38:05] ftrvxmtrx вышел(а) из комнаты
[13:38:36] ftrvxmtrx вошёл(а) в комнату
[13:41:36] ftrvxmtrx вышел(а) из комнаты
[13:41:48] ftrvxmtrx вошёл(а) в комнату
[13:43:07] ftrvxmtrx вышел(а) из комнаты
[13:43:20] bobry вышел(а) из комнаты
[13:43:30] ftrvxmtrx вошёл(а) в комнату
[13:47:06] ftrvxmtrx вышел(а) из комнаты
[13:47:42] ftrvxmtrx вошёл(а) в комнату
[13:51:40] ftrvxmtrx вышел(а) из комнаты
[13:51:56] ftrvxmtrx вошёл(а) в комнату
[13:52:43] ftrvxmtrx вышел(а) из комнаты
[13:53:04] ftrvxmtrx вошёл(а) в комнату
[13:54:07] ftrvxmtrx вышел(а) из комнаты
[13:56:11] ftrvxmtrx вошёл(а) в комнату
[13:57:33] ftrvxmtrx вышел(а) из комнаты
[13:58:09] ftrvxmtrx вошёл(а) в комнату
[13:59:40] ftrvxmtrx вышел(а) из комнаты
[13:59:49] ftrvxmtrx вошёл(а) в комнату
[14:00:54] ftrvxmtrx вышел(а) из комнаты
[14:03:21] ftrvxmtrx вошёл(а) в комнату
[14:06:49] ftrvxmtrx вышел(а) из комнаты
[14:06:55] ftrvxmtrx вошёл(а) в комнату
[14:07:38] ftrvxmtrx вышел(а) из комнаты
[14:21:45] bobry вошёл(а) в комнату
[14:34:17] <gds> Typhon: "намёк понял, выезжаю" :]
[14:57:28] ermine покончила с текучкой и принялась за горгону
[14:57:32] <ermine> чота оно меня прёт
[14:58:32] <ermine> Kakadu: как дела?
[15:02:11] <Kakadu> херово
[15:02:29] <Kakadu> lablqt бесполезно
[15:06:07] <gds> Kakadu: чому?
[15:06:19] <Kakadu> я не знаю что делать с наследованием
[15:06:31] <Typhon> а не OCLosure посмотрел уже
[15:06:31] <gds> а для каких целей оно нужно?
[15:06:45] <Typhon> s/на/не
[15:06:55] <Kakadu> Typhon: телепат
[15:07:05] <Typhon> я чятик читаю
[15:07:25] <Kakadu> gds: запхать в QListView чтонить поинтереснее голых текстовых строчек
[15:08:09] <gds> то есть, надо создавать плюсовый объект, вызовы методов которого должны вызывать методы камловского соответствующего объекта?
[15:09:05] <Kakadu> gds: ты выразился настолько кратко, что непонятно уловил ли ты суть
[15:09:33] <gds> сам не понимаю, понял ли я суть.
[15:09:53] zert вышел(а) из комнаты
[15:10:01] <ermine> Kakadu: тупо инсталл: ocaml -where + "site-lib/lablqt", положить туда мету, *.a, *.cmi, *.mli, *.cmxa, *.cma
[15:10:13] ftrvxmtrx вошёл(а) в комнату
[15:10:23] <ermine> положить через камлофинд
[15:11:18] <ermine> тогда не нужно ocamlc -where, камлофинд сам знает
[15:11:57] zert вошёл(а) в комнату
[15:13:05] <Kakadu> gds: http://doc.qt.nokia.com/4.7-snapshot/modelview.html
[15:13:19] <Kakadu> gds: 2.1 A Read Only Table
[15:14:05] ftrvxmtrx вышел(а) из комнаты
[15:15:27] <gds> Kakadu: то есть, надо сделать что-то типа "class MyModel : public QAbstractTableModel", но так, чтобы MyModel определялось в камле?
[15:16:04] <Kakadu> gds: в идеале
[15:17:44] <ermine> а, так проблема не в этом
[15:20:31] <gds> Kakadu: а почему бы не нагенерить плюсовых классов, в которых для каждого метода будет прописано "при вызове этого метода -- вызывать метод такой-то (по хешу) объекта такого-то"?  То есть, в камлообъекте есть ссылка на плюсовый объект, в плюсовом -- на камлообъект.  Понятно, что это гемор, но в теории -- надо подумать.
[15:21:39] <Kakadu> gds: догаваривай до конца. я пока не понял чем это поможет
[15:25:26] <gds> ну вот, сделать такие классы (камловские с плюсовыми), от которых можно будет наследоваться на стороне камла -- допустим, создавать объекты класса class my_model = object .. inherit q_abstract_table_model .. , и чтобы механизм двусторонних вызовов реализовывался в q_abstract_table_model, но вызовы из плюсов диспетчились в объект класса my_model.  известно, что, зная хеш метода и имея объект как value на стороне сишечьки, можно вызвать метод объекта с сишной стороны.
[15:27:54] <Kakadu> я всё равно ничхрена не понял
[15:28:19] <Kakadu> и как это будет работать, если я отнаследовался от класса  А с одним методом foo и переопределил его?
[15:28:37] <gds> отнаследовался на стороне камла?
[15:30:00] <Kakadu> да
[15:32:50] <f[x]> я не понимаю в чём проблема. генерится код который на камлевой стороне требует объект с такими-то методами, сишный код это знает и эти методы дёргает. на камлеовой стороне юзер создаёт объект с подходящими методами и подсовывает его
[15:32:56] <f[x]> покажи конкретный пример с пробелмой
[15:35:36] <gds> class a = object .. value cppobj : cppobj; method foo args = failwith "you should define the method";
initializer = cppobj := make_cppobj ~cls:"a" ~slf:self
end
class b = object .. inherit a; method foo args = mycode; end
на сишной стороне:
value make_cppobj(value objname, value ocaml_object) {
if objname = "a" then new A(ocaml_object); else if ... }
на плюсовой стороне:
class A(ocaml_object) { public foo { return (call_ocaml_method ocaml_object "foo") } }
очень схематично.
[15:36:04] <gds> а, или даже в class a сразу сделать method virtual foo
[15:44:01] <Kakadu> я до сих пор не понял. Надо наверное чуть более конкретно
[15:44:05] <Kakadu> пусть класс А будет такой
[15:44:52] <Kakadu> class A {
public:
    int foo() { return this->boo() + 1; }
    virtual int boo()=0;
};
[15:45:41] letrec вошёл(а) в комнату
[15:49:09] <gds> Kakadu: класс A будет не такой.  Он будет
class A {
public:
private value caml_obj;
int foo() { return call_caml_obj_method(caml_obj, hash_of("foo")) };
int boo() { return call_caml_obj_method(caml_obj, hash_of("boo")) };
}
только так, чтобы в new A передавался caml_obj, который сохраняется в переменной caml_obj.
[15:50:18] <Kakadu> gds: но вроде класс А описан априорно в самом Qt.....
[15:58:26] zert вышел(а) из комнаты
[15:58:40] zert вошёл(а) в комнату
[15:58:55] <f[x]> ну, значит генератор генерит class AA : public A { тут то что gds прописал }
[15:59:12] ermine потрудилась в оазисах своих библиотек, переименовывая имена либл на маску erm_*
[15:59:19] <ermine> коллизий станет меньше
[16:00:08] <Kakadu> f[x]: что-то стремно как-то
[16:00:25] <Kakadu> gds: > <f[x]> ну, значит генератор генерит class AA : public A { тут то что gds прописал }
ты плюсуешь?
[16:01:07] <f[x]> Kakadu: почему?
[16:01:34] <f[x]> ты просто во всех классах виртуальные методы мапишь на вызов соответствующего камлового метода
[16:02:15] <f[x]> кстати, gds, зачем foo камлевый дёргать?
[16:02:51] <bobry> товарищи, вчера ссылочка была на oasis2deb
[16:02:58] <bobry> никто не напомнит? не могу нагуглить чета
[16:02:58] <Kakadu> была
[16:03:06] <Kakadu> сhatlogs.jabber.ru
[16:05:27] <f[x]> первый хит по oasis2debian
[16:07:53] <bobry> ага, нашелся — но что то не собирается
[16:08:07] <bobry> E: Cannot find findlib package debian-formats (>= 0.0.1)
E: Cannot find findlib package xdg-basedir (>= 0.0.1)
E: Cannot find findlib package xstrp4 (>= 1.8)
[16:09:15] <Typhon> ну надо их поставить? :-)
[16:09:19] <Typhon> + попатчить
[16:09:21] <bobry> ну последний я нашел уже
[16:09:30] <Typhon> (в INSTALL рассказано)
[16:11:22] <ermine> даже подумалось - может либлы вообще свести в одну репу erm_lib?
[16:11:33] ermine смотрит на f[x] в ожидании подсказки
[16:12:11] <ermine> камлофинд позволяет отдельные либлы через точку типа erm_lib.logger
[16:13:06] bobry вышел(а) из комнаты
[16:14:23] <Typhon> ermine: не надо %)
[16:15:40] <f[x]> почему не надо, так ведь изначально и было, и я сразу (!) говорил что незачем разделять
[16:16:11] <Typhon> f[x]: а как ты решил (будешь решать?) проблему с ?seed:int в extLib и Hashtbl? если просто добавить в сигнатуру, оно перестанет собираться в 3.12 с обратной ошибкой :-)  
[16:16:33] <f[x]> интересно, а можно ли инсталлить подпакеты отдельно от родительского пакета - т.е. умеет ли ocamlfind мержить META
[16:16:43] <f[x]> Typhon: let create n = create n :)
[16:17:43] <Typhon> f[x]: вот потому что, кажется, не умеет, я и против мёрджа в большую erm_lib :-)
[16:18:42] <ermine> тогда камлофинд вроде еще не умел субпаккаджи
[16:19:20] <ermine> и оазис умеет только один проект
[16:19:54] <ermine> поэтому вот lib.sublib
[16:21:05] <f[x]> оба утверждения не верны
[16:21:05] <ermine> будем таки сводить в одну репу либлы, она будет одна для сульци и горгоны
[16:22:20] <ermine> а, в оазисе субппакеджинг же директивой указывается
[16:22:38] <ermine> f[x]: тогда что лучше - отдельные либлы или подлиблы?
[16:22:41] <Typhon> f[x]: что-то не догнал про let create … : в http://code.google.com/p/ocaml-extlib/source/browse/trunk/extlib/extHashtbl.mli#76 указана сигнатура для 3.12, в 3.13 оно перестанет матчиться с Hashtbl.create, типа в екстлиб extHashtbl не будет соответствовать интерфейсу Hashtbl.S и будет там будет безсидовый create ?  
[16:23:35] <f[x]> ermine: подлиблы имеет смысл делать только для сильно связанных либ которые друг без лруга не будут исопльзоваться
[16:23:50] <f[x]> ну например синтаксическое расширение и его рантайм часть
[16:24:05] <f[x]> или там разные бэкенды к одному api
[16:24:23] <f[x]> а засовывать в один пакет скажем logger и ssl-либу - неправильно
[16:24:36] <f[x]> а код держать в одной репке или многих - вопрос ортогональный
[16:25:24] <f[x]> я бы не разделял изначально, но раз уже разделила то нехай будет
[16:25:32] <f[x]> изменения ради изменений - не есть гут
[16:25:32] <ermine> f[x]: ну у меня ничего не связано в таком смысле
[16:25:55] <ermine> да и переинсталлять все из-за изменений в одной подлибле
[16:26:09] <ermine> не, вот из-за такой мотивации как раз не надо в одну репу
[16:26:24] <ermine> так что пока не будем сводить
[16:26:46] <f[x]> ну, это решается скриптиком - rebuild - for i in projects ; do make -C "$i" clean build reinstall ; done
[16:27:29] <f[x]> Typhon: угу, чтобы сохранить совместимость - будет без сида
[16:27:46] bobry вошёл(а) в комнату
[16:27:46] <f[x]> я так думаю
[16:27:59] <ermine> на каком шелловом языке?
[16:28:24] <ermine> вообще уже расхотелось, как подумала про пересборку
[16:28:32] <f[x]> на каком тебе удобней - это же девелоперская штучка
[16:31:58] <Typhon> f[x]: хм, но тогда потом нельзя будет использовать extHashtbl там где ждут Hashtbl просто
[16:32:25] <f[x]> угу
[16:32:40] <f[x]> но его и сейчас нельзя
[16:32:48] <f[x]> функтора Make нету
[16:34:14] <f[x]> а условную компиляцию в зависимости от версии я не хочу - раз никто не жалуется
[16:36:20] <Kakadu> gds: f[x]: https://github.com/Kakadu/lablqt/tree/master/inher
и что писать дальше?
[16:37:39] <Typhon> f[x]: а где бы посмотреть, как чоткие пацаны делают условную компеляцию? в extUnix? или есть где попроще, в зав-ти от версии?
[16:38:28] <f[x]> от версии не знаю где, по-моему в камле это не очень практикуется, а так везде одинаково - camlp4.macro и вперёд
[16:39:53] <f[x]> Kakadu: теперь осталось камлевую часть реализовать :)
[16:42:09] gds отходил, ща
[16:43:06] <gds> > f[x]: кстати, gds, зачем foo камлевый дёргать?
дык в том-то и цель -- реализовать вызовы из плюсов в камлообъект.
[16:44:27] <f[x]> базовый класс типа реализовано - в qt скажем - надо реализовать наследника в камле
[16:45:01] <gds> ermine: erm_lib -- если в гите есть "метарепозитории", то да.  Типа как http://mercurial.selenic.com/wiki/Subrepository , но так, чтобы они отдельно таки были изначально.
кстати, всей этой мудосрани с janestreet либами не было бы, если бы было так: а именно, чтобы changeset верхней диры ссылался на те ревизии, которые друг с другом нормально собираются (они же там себе это собирают как-то, да?).
[16:45:10] <f[x]> т.е. на плюсовой стороне наследуемся от базового и все его методы форвардим в камль
[16:45:30] <Typhon> git submodules позволяет это
[16:45:58] <f[x]> gds: юзер то скачивает тарболы, а не из репы
[16:46:10] <f[x]> помогло бы указание минимальных версий в _oasis
[16:47:39] zert вышел(а) из комнаты: Replaced by new connection
[16:47:40] zert вошёл(а) в комнату
[16:47:51] <gds> Kakadu: всё, я на сегодня со сложными вопросами, кажется, иссяк.  Под вечер ещё посмотрю, но чото мне не нравится.
[16:49:45] ответ вошёл(а) в комнату
[16:49:58] <gds> f[x]: тарболы -- хз хз.  юзер вроде вообще ничего не скачивает, если он юзер дебиана/убунты -- apt-get install ..., т.е. субрепки помогли бы мейнтейнерам этих пакетов.  про минимальные версии -- я не точно помню проблему, но видимо да.
кстати, я забыл, при oasis quickstart оно позволяет указать зависимости?
[16:50:27] <Typhon> кстати, этим жейнстритовцам ещё ни пчти, ни багу присунуть :-( на opensource@janestreet.com hg email'ом заслал патч с type_conv и odn
[16:51:05] <gds> наплодили либ, гады, а теперь не отвечают за них!
[16:51:24] <Typhon> gds: нет, если либу описываешь, то только path, modules и name
[16:54:28] <gds> ага, понял, тогда с версиями ситуацию не изменить особо.  ну и хрен с ним.  в камлолист разве что отписать gnevnoe.psm типа "мы тут уже весь нефритовый стержень истёрли, пока собирали janest-либы, и хочется предостеречь остальных мерзавцев: если используете внешнюю либу, ставьте в _оазис версию, с которой оно точно собиралось у вас на вашей машине".
[16:58:51] <Kakadu> f[x]: https://github.com/Kakadu/lablqt/blob/master/inher/classes.ml
теперь что? я туплю сильно и не понимаю что вы напридумывали....
[17:00:50] bobry вышел(а) из комнаты
[17:03:27] <gds> Kakadu: если речь в том числе про меня, то я попозже попытаюсь "натянуть голову на проблему", с плюсами очень давно не связывался, с qt так вообще никогда (до недавних пор).  Со своей стороны, если f[x] не разберётся / не поможет, возьмусь вечером либо, скорее, завтра утром.  Сложно мне, мозга не хватает на всё.
[17:18:07] <ermine> горгона ждет!!!1
[17:19:21] <gds> Typhon: foobnix заценил по твоей наводке.  Нравится, ещё как!  Перекодировать теги автоматически умеет.  Только вот не знаю даже, как удобнее, файловая система или "библиотека" амарока (дерево по исполнителям, затем по "год - альбом"), ибо в файловой системе не всегда слежу за порядком, лениво.
[17:25:05] <Typhon> а, ну если библиотека нравится есть смысл посмотреть на exaile или clementine (хотя клементина вчера показывала кракозябру вместо русских буков в тегах!), мне то как раз файловая система по нраву больше, у меня там порядок ^_^
[17:25:42] <gds> не, с хоткеями бида у foobnix.  начнём с того, что я не понял, как повесить паузу на глобальный ctrl-alt-end и на локальный space.
[17:40:29] <Kakadu> ermine: так куда при установке надо складывать файлы?
[17:41:46] <Kakadu> пусть это будет `ocamlc -where`/lablqt
[17:48:15] <gds> Kakadu: давай думать.  Надо сделать так, чтобы на плюсовой стороне это был класс, унаследованный от QAbstractTableModel ( = A в твоём примере), чтобы с плюсовой стороны вызывались как плюсовые, так и окамловские методы (если в камле переопределяешь метод).  Чтобы с окамловской стороны вызывались как свои методы (если переопределены), так и плюсовые (ну, с возможностью super#method args).
В твоём примере плюсовая надстройка (AA) должна вызывать метод caml_get_public_method(camlobj, hash("foo")).  Если этот метод переопределён в окамле наследованием от класса aa, например, это будет валидный окамловский код (closure), который вызываем.
Далее, class aa в окамле должен состоять из вызовов методов A: method foo = call_cpp_method cpp_obj_A "foo".
Далее имеем class redefaa = object inherit aa method! foo = myfoo end и class nodefaa = object inherit aa end
Итак, что получаем.  По умолчанию с окамловской стороны вызов redefaa#foo будет нативным, без плюсов.  Вызов nodefaa#foo будет вызывать call_cpp_method cpp_obj_A "foo" -- то есть, плюсовый A.foo.
С плюсовой стороны любой вызов AA.foo будет дёргать redefaa#foo либо nodefaa#foo.  А дальше, как эти вызовы будут идти, я описал в предыдущем абзаце.
Вроде так.
[17:56:21] <Kakadu> так, я нихрена не нпонимаю и пора начать задавать маленькие вопросы для прояснения
[17:57:28] <gds> давай с целью определимся: надо создать такой плюсовый объект и такой камловский объект, вызовы методов которых вызывали окамловские методы, если они переопределяют плюсовые методы, или плюсовые методы в противном случае.  Так?
[17:59:07] <Kakadu> gds: А также, в случае если не переопределенные плюсовые методы вызывают переопределенные, то вызывались окамловские
[17:59:54] <gds> да.  То есть, класс AA будет вызывать реальный метод -- окамловский, если он есть, и плюсовый метод A, если окамловского нет.  Так?
[18:00:26] <Kakadu> вроде бы
[18:00:48] <gds> значит, по моим прикидкам, будет ок.
[18:01:15] <gds> но это чисто концепция.  понятно, что трахотня с реализацией будет.  но если у тебя есть mocml, то 80% уже готово, имхо.
[18:01:46] <Kakadu> будем считать что нет, ну да потом видно будет
[18:03:22] <f[x]> > пусть это будет `ocamlc -where`/lablqt
wtf? пусть это будет ocamlfind install
[18:05:43] <gds> Kakadu: давай первый маленький вопрос.
[18:06:52] <Kakadu> gds: как из С++ понять является ли текущий объект объектом класса-потомка?
[18:07:16] <Kakadu> gds: Как понять был ли такой-то метод переопределен?
[18:07:41] <gds> 1. в C++ создаём class AA, который наследуется от A, и для плюсов говорим "вот объект класса AA, он правильный, берите его для гуерисования".
[18:08:21] <ответ> Kakadu: 1. if (dynamic_cast<AA*>(obj) != NULL) ...
[18:08:59] <ответ> 2. Никак. C++ не имеет рантайм инфы о методах
[18:09:10] <gds> 2. это не нужно понимать: ocaml class aa method foo будет вызывать A->foo, а переопределение aa#foo -- факт того, что в aa#foo будет камлокод, а не вызов A->foo.
[18:11:25] <Kakadu> gds: 1. под классом потомком я понимаю nodefaa или redefaa
2. вот тебе класс (по-моему это контрпример)
class A {
public:
   void foo() { boo(); }
   void virtual boo()=0;
};
[18:13:53] <Kakadu> ответ: мы тут нечто более сложное затеваем. К классу А делаются байндинги в камлевый класс а, который наследуется в камлевый класс nodefa и при вызове методов которого управление передается обратно в си, где надо понимать был ли такой-то метод переопределен
[18:15:23] <gds> Kakadu: 2.
>   void foo() { boo(); }
boo будет вызван у класса A или у его потомка AA?
[18:15:42] <Kakadu> потомка
[18:15:56] <gds> значит в AA.boo будет прописан вызов aa#boo
[18:18:43] <Kakadu> gds: AA.boo это метод в каком языке?
[18:18:48] <gds> в плюсах
[18:20:01] <Kakadu> значит так
[18:23:22] <Kakadu> 1. Я беру класс А с виртуальными методами и наследуюсь с получением класса АА где нормальные методы оставляю как есть, а виртуальные заменяю на вызов камлевых через call_caml_obj_method(caml_obj, hash_of("имя-метода"))
[18:25:01] <gds> Kakadu: 1. про нормальные и виртуальные -- не, все заменять.  В AA будут вызовы камлометодов только.
[18:29:56] gds afk, учить леди функциональным манерам, охлол
[18:30:22] bobry вошёл(а) в комнату
[18:30:47] <bobry> Typhon: беру свои слова про твой пулл реквест назад, только что проверил, все хоккей :)
[18:31:52] <Typhon> bobry: ну там всё работало ок, я ж для себя фиксил, я думал на мармеладе свежее/круче (если это про ель-гет, а не про батарейки, гг)
[18:33:40] <bobry> эт про элгет ага
[18:55:05] ответ вышел(а) из комнаты: Disconnected: connection closed
[19:13:01] zert вышел(а) из комнаты
[19:17:38] <Kakadu> ermine: я прикрутил какую-то инсталляцию
[19:20:08] <Kakadu> я вот думаю: мне тесты переписать с ориентированием на установленный lablqt или на только что собранный (т.е. оставить как есть) ?
[19:24:27] <f[x]> оставь как есть
[19:24:40] <f[x]> тесты в первую очередь для девелопера
[19:27:26] bobry вышел(а) из комнаты
[19:32:08] Typhon вышел(а) из комнаты
[19:33:59] <f[x]> http://paste.in.ua/3129/
[19:34:17] <f[x]> anybody?
[19:34:50] <f[x]> как сказать что функция-аргумент полиморфна по своим аргументам?
[19:35:05] <f[x]> реквестирую gds power
[19:35:42] <Kakadu> какая функция?
[19:35:54] <f[x]> f - аргумент apply
[19:36:25] <Kakadu> 'x . x T.t -> unit
[19:36:26] <Kakadu> ?
[19:36:37] <Kakadu> хотя нет
[19:36:57] <Kakadu> без gds никуда
[19:37:02] <gds> щаща
[19:37:24] <f[x]> бонус: реализация для 3.11
[19:38:06] <f[x]> я почему-то думал что с 3.12 это просто, но вот не получилось
[19:38:11] <gds> f[x]: так чё, решил уже?
[19:38:22] <f[x]> не
[19:39:31] <f[x]> пробовал с универсальным 'a в record'е - тоже fail
[19:40:37] letrec вышел(а) из комнаты
[19:40:50] letrec вошёл(а) в комнату
[19:41:58] <gds> хы, хитро :)  но делается.
[19:42:00] <f[x]> оно всё равно унифицирует при первом применении
[19:42:03] <gds> да
[19:42:09] <gds> подтверждаю, т.е.
[19:42:14] <f[x]> FAIL
[19:42:55] <gds> мне аж интересно, сейчас нарулим.
[19:43:25] <f[x]> самое перспективное что получается :
Error: This definition has type 'a T.t -> unit which is less general than
         'b. 'b T.t -> unit
[19:44:38] <f[x]> по идее эта штука же (type t) специально для этого сделана
[19:44:57] <f[x]> вбросить в irc что-ли
[19:46:57] <gds> как хошь, заодно сравни с моими вариантами, если будут.  только не публикуй, а то неинтересно будет.
[19:47:35] <f[x]> я уже полдня моск ломаю, работа стоит, дурдом
[19:47:54] <gds> тады вбрасывай.
[19:48:06] <gds> кстати.
[19:48:27] <gds> 'a у тебя "фантомное", получается?
[19:48:54] <gds> нафига оно нужно тогда?
[19:49:25] <f[x]> у collection'а?
[19:49:30] <f[x]> там случайно
[19:49:34] <f[x]> не нужно
[19:50:01] <gds> понял, а у T.t?
[19:50:20] <gds> т.е. я задумку не полностью прохавал.
[19:50:33] <f[x]> в реальном коде используется
[19:51:00] <gds> но содержимое всегда string?
[19:52:19] <f[x]> http://paste.in.ua/3131/
[19:53:00] <f[x]> нет, там в конструкторе подставляется разная функция в зависимости от типа, для простоты пусть будет как в пасте выше
[19:53:11] <gds> понял.
[19:54:34] <f[x]> в реальном коде это интерфейс к бд которая умеет хранить например строки и числа, соответственно операция записи мономорфная и строго-типизированная фантомом и вызывает разный код, а куча операций полиморфные - flush close итд
[19:55:10] <f[x]> на самом деле когда фантомы начинаешь использовать такое по-моему часто вылазит
[19:55:16] <f[x]> т.е. должно как-то решаться
[20:03:21] zert вошёл(а) в комнату
[20:03:41] <gds> неинтересные частные случаи получаются, но кривота-кривота.
[20:05:12] letrec вышел(а) из комнаты
[20:08:15] <f[x]> а ковариантность тут часом не порылась?
[20:08:32] <gds> вроде никак.
[20:08:51] <f[x]> угу, не влияет вроде
[20:08:59] <gds> она к подтипизациям, а тут явно косяк в том, что fun f -> .. присваивает чоткий тип к f.
[20:09:14] <f[x]> была идея (t.ss :> z T.t array)
[20:09:17] <f[x]> но не хотит
[20:10:36] <gds> если fun (type z) -> , то понятно, и не должен, при подтипизации компилятор должен её как-то проверить.
[20:10:40] <gds> хитро :)
[20:11:31] komar вышел(а) из комнаты
[20:19:33] <gds> f[x]:
ocamlbuild y.byte && ./y.byte
test
42
[20:20:50] <f[x]> оляля
[20:21:09] <gds> но онально там.
[20:21:10] <f[x]> подозреваю трёхэтажный функтор
[20:21:11] <gds> ща
[20:21:13] <gds> не
[20:21:39] <gds> f[x]: http://paste.in.ua/3133/
[20:22:12] <gds> "очень сильное колдунство"
[20:23:05] <f[x]> во, это круто
[20:23:22] <f[x]> я так пробовал - не получалось, потому что я создавал polyapp внутри apply
[20:23:27] <gds> имхо не очень круто, но это работает.  Но эстетически не нравится.
[20:23:28] <f[x]> с тем же эффектом
[20:23:43] <f[x]> угу, потому что создание polyapp не прячется, так?
[20:23:49] <gds> там-то да, тип f фиксирован при типизации apply
[20:23:54] <f[x]> но зато 3.11
[20:24:40] <gds> когда я понял, что с модулями как-то нездорово (собственно, нечего паковать / распаковывать) -- понял, что через записи должно покатить.
[20:24:44] <gds> но криво же, смотри..
[20:25:33] <f[x]> работает же, должен был сам догадаться
[20:27:07] <f[x]> лучше скажи почему оно не парсит специально сделанное для этого -- let apply t (f : 'a. 'a T.t -> unit) =
[20:27:54] <gds> догадка -- потому что " 'a . " оно для топлевел значений?
[20:28:08] <gds> let apply : 'a . .... = fun f t -> ..
но пробовал, хрень там.
[20:28:17] <gds> "недостаточно полиморфно" получишь максимум.
[20:28:21] <gds> сейчас с модулями пробую.
[20:28:22] <f[x]> ну это не тот scope, да
[20:28:45] <gds> мне это тоже очень нужно будет, кстати.  считай, ты помогаешь кадастру :)
[20:29:19] <f[x]> я думаю можно настучать в мантис
[20:29:35] <f[x]> что polyapp принимается, а ('a. 'a T.t -> unit) нет
[20:30:01] <gds> не, отмажутся манулами 1978г.
[20:30:24] <gds> и, действительно, кое-что будет неоднозначно выводиться.
[20:31:12] <f[x]> ты за красных или за белых, ну?
[20:39:36] <gds> я -- за рабочую, приводящую к единственному результату инферрилку типов.  Впрочем, директива " 'a . " это уже показатель того, что надо выводить с явным полиморфизмом.  Так что, видимо, на твоей стороне.  Но туплю сейчас, если глобально.
[20:42:20] <gds> блин, какой же неудобный этот original syntax.  "t 'a 'b 'c" -> "('a, 'b, 'c) t" -- ужос.
[20:52:06] ad1862 вошёл(а) в комнату
[20:52:28] <bobry> «Kaputt is released under the GPL v3.»
[20:52:57] <bobry> кстати клево у него -- чтобы заслать feature request надо регаться в мантисе
[20:53:14] <bobry> все приличные люди уже давно на forge / gh / bitbucket переползли ...
[20:54:46] <zert> на forge неприличные
[20:55:34] <bobry> ну хоть куда нибудь
[20:56:26] <gds> zert: ты так говоришь, как будто быть педерастом и пользовать эрланг -- это что-то плохое.
[20:56:41] <zert> щьто?
[20:56:47] <gds> это.
[20:56:55] <zert> форж — адов покойник
[20:56:56] <bobry> http://forge.ocamlcore.org/scm/browser.php?group_id=207&repo_name=kaputt -- oh noes! где же коммиты
[20:57:04] <zert> а, или этот форж
[20:57:07] <bobry> zert: да неужели?
[20:57:09] <zert> я думал, что сорцфорж
[20:57:18] <bobry> ну сф то уже давно скорее мертв
[20:57:35] <zert> ну нащот этого я ничего против не имею, тащемта
[21:07:00] komar вошёл(а) в комнату
[21:17:22] shaggie вышел(а) из комнаты
[21:18:25] <bobry> кстате, пользователей kaputt тут не прибавилось?
[21:18:59] zert вышел(а) из комнаты
[21:19:00] <gds> пока нет, пока подобное не нужно.
[21:20:05] <bobry> gds: а ты ounitом тестируешь?
[21:20:15] <bobry> я вот рандомными тестами пару косяков сегодня таки нашел в библиотеке
[21:20:26] <bobry> хотя наверное это напрямую зависит от кривизны рук
[21:21:17] <gds> bobry: я очень мало тестирую пока -- мне пока нужно было простые вещи проверять, ounit ок.  Если бы делал что-то хитрое -- там пригодилось бы сложное.
[21:21:49] <bobry> можно пример чего то сложного в твоем понимании
[21:22:05] <bobry> я вот совсем простые вещи проверял -- сериализатор для эрланга
[21:22:15] <Kakadu> ermine: а ты это уже юзала: http://code.google.com/p/objective-c-caml-bridge/
[21:22:18] <Kakadu> ?
[21:23:35] <gds> bobry: ну тот же bson -- это сложное для тестирования.
простое -- ну, например, мой незакоммиченный алгоритм слияния двух ассоциативных списков, идущее через раскидку по массивам, работу с индексами, расслоение согласно функции проверки на равенство.
не шучу.
[21:27:35] <bobry> а почему bson -- сложно?
[21:27:41] <bobry> *если без итератов*
[21:32:49] ermine прокатилась на велике 50 км
[21:33:41] <ermine> Kakadu: нет, не юзала
[21:33:53] <ermine> когда-то даже немного поигралась с Objective-C
[21:34:21] <Kakadu> ermine: с Горгоной под какао надо будет наверное юзать это
[21:34:24] <ermine> Kakadu: а там про Cocoa есть?
[21:34:44] <Kakadu> именно какао
[21:35:08] <ermine> надо поглядеть тогда
[21:35:31] <ermine> и всех пересадить на горгону
[21:41:00] ermine закопала ссылку, надо будет какнить поиграться с этим
[21:41:14] <ermine> Kakadu: спасибо, что нашел :)
[21:41:28] <ermine> Kakadu: а что с lablqt?
[21:48:54] <Kakadu> ermine: install прикрутил. надо протеститьь
[21:49:31] <gds> bobry: потому что много деталей, нетривиальная спека на bson, проблемы в "склейке простой логики".  в списках-массивах склеивать логику мало надо, алгоритмы хоть сложнее, но более самосодержащиеся, что ли.
[21:50:05] <ermine> Kakadu: ща потестим
[21:52:16] <ermine> Kakadu: как инсталлить?
[21:52:23] <ermine> ocaml build.ml install?
[21:52:30] <Kakadu> -install
[21:52:48] <ermine> ну щас соберется
[21:52:59] <ermine> все еще не проверяет уже собранные депендсы
[21:58:42] <ermine> Kakadu: у тебя lablqt за сколько минут собирается?
[21:59:21] <ermine> уже 6 минут пилит
[21:59:30] <ermine> не, 8 уже
[22:00:02] <Kakadu> мож я его зациклил?
[22:00:10] <ermine> надо было с time запускать
[22:00:23] <ermine> нет
[22:00:43] <ermine> g++ -c -pipe -g -Wall -W -I./../../ -I. `pkg-config --cflags QtOpenGL`  -I/usr/include/qt4  -c -I`ocamlc -where` -I..  -fpic Qt/enum_Qt_FocusPolicy.cpp
[22:01:37] <ermine> а так вообще медленно
[22:02:22] <Kakadu> 3.11
[22:02:38] <Kakadu> я то целиком обычно не собираю
[22:02:45] <ermine> 3;12;1
[22:03:10] <Kakadu> я имел ввиду 3 минуты 11 секунд real времени
[22:03:19] <ermine> ну сделай шоб и у меня не пересобирало каждый раз
[22:03:43] <ermine> 10 минут оно целиком собирает
[22:03:50] <ermine> щас -install попробуем
[22:03:51] <Kakadu> придется грязно захакать
[22:04:31] <ermine> кого?
[22:05:17] <Kakadu> build.ml
[22:05:34] <ermine> камлофинд ругается
[22:05:45] <Kakadu> в какой момент
[22:05:46] <Kakadu> ?
[22:25:28] <ermine> инсталляция вроде ОК, можно ехать дальше
[22:26:12] <ermine> Kakadu: добавь в мету еще cmxa
[22:26:30] <ermine> archive,native
[22:27:13] <ermine> и даже скомпилить либлу в натиив
[22:27:27] ermine только щас разглядела, что она вся байткодная
[22:27:29] <ermine> удос
[22:27:52] <ermine> пора отчаливать до завтра
[22:28:24] <Kakadu> завтра я только вечером фиксить смогу,
[22:28:31] <Kakadu> ermine: но комменты присылай
[22:29:50] <ermine> не, я скорее потроха горгоны буду точить
[22:30:44] <ermine> в JS все еще багу в коре не пофиксили, ну и казлы
[22:31:08] ermine вышел(а) из комнаты
[22:46:36] <bobry> omg http://blog.bitbucket.org/2011/10/03/bitbucket-now-rocks-git/
[22:50:03] <gds> оппа, bitbucket очень ок!
[22:51:29] <bobry> что то я прям расстраиваюсь шо oasis не развивается
[22:51:34] <bobry> столько issues / feature requests
[22:51:37] <bobry> а в репке тишина
[23:01:54] gds вышел(а) из комнаты
[23:29:08] ad1862 вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!