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

GMT+3
[00:14:42] digital_curse вошёл(а) в комнату
[00:14:52] digital_curse вышел(а) из комнаты
[01:29:56] digital_curse вошёл(а) в комнату
[01:36:01] ermine вышел(а) из комнаты
[07:48:30] digital_curse вышел(а) из комнаты
[08:02:27] ExplicitCall вошёл(а) в комнату
[08:02:36] ExplicitCall вышел(а) из комнаты
[11:25:02] Kakadu вошёл(а) в комнату
[11:25:46] ygrek вошёл(а) в комнату
[11:26:00] ygrek вышел(а) из комнаты
[11:26:21] ygrek вошёл(а) в комнату
[11:27:42] <ygrek> -ccopt <opt> Pass option <opt> to the C compiler and linker
[11:50:04] sceptic вышел(а) из комнаты
[12:06:13] AKos вошёл(а) в комнату
[12:23:38] sceptic вошёл(а) в комнату
[12:24:48] Typhon вошёл(а) в комнату
[12:50:52] ermine вошёл(а) в комнату
[13:06:31] <ermine> ygrek: а чем ccopt отличается от cclib?
[13:30:44] Typhon вышел(а) из комнаты
[13:31:33] gds вышел(а) из комнаты: Replaced by new connection
[13:31:34] gds вошёл(а) в комнату
[14:12:35] ygrek вышел(а) из комнаты
[14:48:21] Typhon вошёл(а) в комнату
[15:41:30] ygrek вошёл(а) в комнату
[15:42:49] <ygrek> cclib только линкеру, судя по help'у
[16:54:55] AKos вышел(а) из комнаты: offline
[18:32:33] Kakadu вышел(а) из комнаты
[18:39:40] <ygrek> А кто-нибудь пользует mldonkey? Что-то прожорливость питоньего deluge меня уже вкрай достала, пора что-то менять..
[18:40:33] <Typhon> а я свой писал простенький торрент-клиент ^_^ корявый, правда и плохой, зато типа real-world app на камле :)
[18:43:32] <ygrek> можно в принципе и свой попробовать написать, т.к. все готовые по определению отстой :)
[18:43:54] <ygrek> а протокол сам реализовывал или биндился к сишным либам?
[18:45:22] <Typhon> сам. правда я ни DHT, ни PEX, ни других вкусных штук не реализовывал, инфу только от трэкера получал, но для начала сгодилось, типа :) в планах переписать все с преферансом, жокамлом и пианистками.
[18:46:15] <ygrek> жокамл наверное тут не очень в тему
[18:46:42] <ygrek> это для себя?
[18:47:21] <Typhon> ага. да, может не в тему, но попробовать на реальном примере его хочется.
[18:48:43] <ygrek> тогда почему-же до сих пор (не)уважаемая общественность не имеет возможности смотреть в исходный код?
[18:49:14] <Typhon> потому что стыдно :) мне кажется там местами жутко некрасиво все
[18:50:08] <ygrek> jocaml по признаниям авторов не писался с "performance in mind", так что.. но я использую в реальном проекте, (там правда есть один невыясненный сегфолт, но подозреваемых много)
[18:50:59] <Typhon> в этом месяце надо будет попробовать -- отпуск большой :) (а пока убег)
[18:51:04] Typhon вышел(а) из комнаты
[18:53:25] <ygrek> работающий, красивый и написанный за дёшево (в смысле ресурсов+времени+денег) код - это что-то из области фантастики
[18:56:47] ygrek поэтому основывается на критерии "works for me" -> доработать/причесать потом либо самому либо другим самаритянином. А то винт сдохнет и станет "невыносимо горько".
[18:58:01] ygrek тыкает пальцем в лозунг в топике
[19:19:00] <ermine> долой рефы
[19:20:33] <ermine> от прям щас из области фантастики: как в камлевом биндинге в функции вернуть объект, который уже имеется в памяти?
[19:20:56] <ermine> не создавать же заново через custom_alloc
[19:23:38] <gds> мало конкретики. единственное, что можно сказать: через CAMLreturn :)
[19:27:11] <ermine> ну скажем ты прибиндил функцию создания объекта:
CAMLprim value ml_new(value unit) { Obj *obj = some_new(); value v = custom_alloc(...); return v}
[19:27:40] <ermine> другая функция может вернуть obj из своего контайнера
[19:28:00] <ermine> если по-простому, то его вернуть так же как при create
[19:28:29] ermine развлекается тем, что биндит clutter
[19:30:12] <ygrek> чем существующие биндинги не подошли?
[19:30:29] <ygrek> т.е. суть в том что разные камлевские value будут указывать на один сишный obj?
[19:31:29] <ygrek> часто сишным объектам можно назначить какой-то opaque указатель в довесок - вот этот указатель может быть value или индекс на value в какой-то глобальной таблице итп
[19:31:46] <ygrek> либо табличку заводить - сишный адрес <-> value
[19:31:51] <ermine> не собирается
[19:31:59] <ermine> и давно устарел
[19:32:11] <ermine> разбираться в нём лень
[19:32:14] <ygrek> настолько что реанимировать не получится?
[19:32:32] <ygrek> а, NIH-синдром, ок
[19:33:15] <ermine> он для 0.8 версии двухлетней давности, щас 1.0 и 1.1
[19:33:31] <ermine> сильно поменялось кое-что
[19:33:42] <ermine> ну я пробовала подточить, но быстро надоело
[19:34:00] <ermine> а вот держать таблицу объектов, тоже вилы
[19:34:03] <ygrek> либо забить, в ocurl у меня так сейчас и есть - в callback'ах Curl.t может содержать сишный хэндл который содержится в другом уже value, если никто не завязывается на физическое равенство value - то всё ок
[19:35:37] <ermine> ладно, можно пока забить
[19:36:30] <ygrek> только с освобождением надо аккуратно
[19:36:38] <ygrek> чтобы double free не было
[19:36:46] <ygrek> т.е. тоже не айс
[19:36:53] <ermine> сейчас прибиндила функцию, которая возвращает актора, на котором мышью кликнули, вот этот актор уже должен был существовать и в камле
[19:41:34] <ermine> ygrek: ты не пробовал вписывать принтф в finalize?
[19:42:47] <ermine> чтобы визуально видеть, что они исчезают
[19:49:00] <gds> а зачем биндинги вручную рисовать -- camlidl явно не подходит?
[19:53:35] <ermine> чота не видела, чтобы им делали большие биндинги
[19:53:50] <ermine> да и как-то давно его смотрела, не прониклась
[19:59:02] <ermine> вот из-за неясности с вопросом как вернуть объект, уже имеющийся в камле - щас гадаю, как сравнивать бъекты внутри камла
[20:23:28] ermine заметила, что в структуре для custom_alloc есть поле для custom_compare
[20:23:37] <ermine> наверное оно поможет?
[20:25:16] <gds> сравнение по "=" использует custom_compare.
[20:26:02] <ermine> ну вот думаю чонить туда вписать
[20:41:16] AKos вошёл(а) в комнату
[20:41:21] AKos вышел(а) из комнаты
[20:41:41] AKos вошёл(а) в комнату
[21:00:03] <gds> туплю чото. в рамках программы "делаем рабочее место из нетбука" пробую собрать ocaml/mingw (xp home sp3) с тем tcl/tk, который дают на activestate в рамках версий 8.4.
+ flexlink [..] -exe -o "ocamlbrowser.exe" [..] "C:/DOCUME~1/user/LOCALS~1/Temp\camlprimd78cfe.c" [..] c:\tcl\bin\tk84.dll c:\tcl\bin\tcl84.dll -lws2_32
[...]
+ gcc -mno-cygwin -c -o "C:/DOCUME~1/user/LOCALS~1/Temp\dyndlledad56.o" [..куча -Idir..] C:/DOCUME~1/user/LOCALS~1/Temp\camlprim219ddc.c
** Cannot resolve symbols for descriptor object:
_Tcl_AppendResult
_Tcl_CreateChannelHandler
[...]
пробовал тупо поискать по тексту ошибки -- гугель такого словосочетания не знает вообще (шоке шоке).
символы "Tcl_AppendResult" и ещё стопиццот ненайденных -- таки есть в {tcl,tk}84.dll визуально, да и objdump их выдаёт, но без подчёркивания. С другой стороны, опция flexlink'у "-nounderscore" не убирает эту ошибку (а только добавляет новые).
есть идеи, куда копать?
[21:06:34] Kakadu вошёл(а) в комнату
[21:08:37] AKos вышел(а) из комнаты
[21:26:23] Kakadu вышел(а) из комнаты
[21:27:09] Kakadu вошёл(а) в комнату
[21:43:45] <ygrek> разве flexlink так линкует с dll?
[21:47:42] <ygrek> TK_ROOT в config/Makefile правильно прописан?
[21:48:00] <ygrek> ermine: из финализера можно что угодно делать
[21:50:36] <ygrek> версия камля? gcc недополучил импорт-либу на вход - поэтому и символы не найдены
[21:51:07] Kakadu вышел(а) из комнаты
[21:51:22] Kakadu вошёл(а) в комнату
[22:03:49] <gds> версия окамла ещё старая, которая успешно собиралась, 3.11.1.
как flexlink линкует -- не в курсе точно, поэтому решил спросить.
а почему на этапе .c -> .o оно должно в импорт-либу смотреть? там же gcc -c идёт.
имхо сомнительно, что это ошибка gcc (т.к. не ищется сообщение поисковиком).
[23:09:11] ermine наконец нашла, в чем заключается засада в биндинге к clutter
[23:09:36] <ermine> интересно, как хаскиль решает эту задницу
[23:51:31] ExplicitCall вошёл(а) в комнату
[23:53:29] ExplicitCall вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!