Home
Objective Caml
ocaml@conference.jabber.ru
Среда, 6 июля 2011< ^ >
gds установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Светлое будущее -- http://camlunity.ru/ | Нефильтрованное настоящее -- https://github.com/camlunity/kamlo_wiki | Портер прошлое -- http://gdsfh.dyndns.org/kamlo/ | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв, move on
Конфигурация комнаты
Участники комнаты

GMT+4
[00:36:45] ftrvxmtrx вышел(а) из комнаты
[00:39:09] abiogenesis вышел(а) из комнаты
[00:41:15] ermine вышел(а) из комнаты
[01:01:24] gds вышел(а) из комнаты
[01:31:34] ftrvxmtrx вошёл(а) в комнату
[01:50:48] ftrvxmtrx вышел(а) из комнаты
[01:51:42] ftrvxmtrx вошёл(а) в комнату
[09:00:01] gds вошёл(а) в комнату
[10:44:53] Typhon вошёл(а) в комнату
[11:02:40] ftrvxmtrx вышел(а) из комнаты
[11:03:35] ftrvxmtrx вошёл(а) в комнату
[11:08:07] ftrvxmtrx вышел(а) из комнаты
[11:28:31] bobry- вошёл(а) в комнату
[11:58:53] ermine вошёл(а) в комнату
[12:03:19] ftrvxmtrx вошёл(а) в комнату
[12:36:36] ftrvxmtrx вышел(а) из комнаты
[12:44:50] shaggie вошёл(а) в комнату
[12:45:35] bobry- вышел(а) из комнаты
[12:47:01] bobry- вошёл(а) в комнату
[13:00:20] gds вышел(а) из комнаты
[13:10:42] f[x] вышел(а) из комнаты
[13:40:22] <ermine> уже можно переползать на 3.12.1?
[13:41:19] <ermine> придецца перекомпиливать всё?
[14:11:30] gds вошёл(а) в комнату
[15:10:35] bobry- вышел(а) из комнаты
[15:11:10] bobry- вошёл(а) в комнату
[15:28:03] ftrvxmtrx вошёл(а) в комнату
[15:28:55] f[x] вошёл(а) в комнату
[15:31:33] <f[x]> в external "float" можно эксепшны кидать или аллокейтить вообще?
[15:36:18] <ermine> непонятный вопрос
[15:37:05] <ermine> а что это за external вообще?
[15:37:23] <gds> f[x]: по логике -- наверное, но чётких описаний не встречал.  если что, может, скомпилировать вызовы разных внешних функций, посмотреть на осемблир, на разницу между нормальным vs noalloc и нормальным vs float.  я бы так делал, наверное.
[15:38:23] <f[x]> gds: лень, и бага не моя
[15:39:04] <f[x]> http://paste.in.ua/2694/
[15:39:11] <f[x]> валится с fatal error
[15:39:26] <f[x]> включить Q - всё работает ок
[15:39:45] <f[x]> т.е. такое впечатление что в первом случае функа вызывается вне try
[15:39:55] <f[x]> дифф асма ничего не объяснил
[15:40:04] <f[x]> эта функа в gsl объявлена как "float"
[15:40:23] <f[x]> поэтому подозреваю
[15:40:32] <f[x]> в байткоде всё работает ок
[15:42:50] ermine скомпилила 3.12.1 и гадает - ставить или не ставить
[15:43:00] <gds> кстати, вне try -- вполне таки реально.
[15:43:51] <gds> подожди, а "float" -- это значит, что будет возвращен результат по floating point конвенциям, т.е. для x86 это в стеке плавучки?  если да, то логично, что исключения не ловятся..
[15:44:11] <f[x]> не вижу связи
[15:44:18] <f[x]> аргументы и результат передаются в регистрах
[15:44:32] <f[x]> ну и что? try catch всё равно сетапает фрейм исключения
[15:45:37] <f[x]> "float" функции в stdlib исключений не кидают вроде
[15:48:58] <f[x]> там "float" юзается чтобы напрямую дёрнуть сишную функу
[15:49:11] <f[x]> в gsl тоже, но в случае ошибки дёргается камлевый callback
[15:49:17] <gds> не, видимо, я совсем забыл это дело, самоустраняюсь из дискуссии.
[15:49:42] <f[x]> ну я тоже не шарю :)
[15:49:54] <f[x]> но исключения в камле не лежат на x86 стеке, а отдельно
[15:50:03] <f[x]> так что это не должно быть связано по идее
[15:52:33] <gds> я вот чо думал -- исключения возвращаются с выставленным битом x&2.  Если же float как-то по-другому возвращается, то логично, что теряется.
[15:58:02] <f[x]> не, исключения же не возвращаются
[15:58:18] <f[x]> вызывается хэндлер который смотрит в стек фреймов ловли исключений
[15:58:50] <f[x]> просто я так опдозреваю что рантайм не рассчитывает что из "float" функи этот хэндлер будет вызываться
[16:39:47] digimmortal вошёл(а) в комнату
[16:58:29] <f[x]> > Generalized Algebraic Datatypes are, as the name suggests, a generalization of Algebraic Data Types
[16:59:51] <Typhon> а ADT, соот-но, это алгебраические типы данных. а посколько понятие "тип данных" тривиально, мы опустим его в настоящем пособии
[17:00:33] <gds> это что такое хитрое вы читаете по ролям?
[17:00:49] <f[x]> http://en.wikibooks.org/wiki/H-l/GADT
[17:04:49] <gds> прикольно, буду читать.
[17:05:13] <ermine> даже в названии "х-ль"?
[17:06:01] f[x] просто если видит в названии gadt то делает подход к снаряду - должно же кол-во перерасти в кач-во?
[17:07:09] <gds> ermine: а разве у тебя браузер не выполняет обратную замену?
[17:08:20] <ermine> gds: я "х-ль" увидела еще в урле и задумалась над нотацией
[17:10:08] komar вышел(а) из комнаты: Replaced by new connection
[17:10:09] komar вошёл(а) в комнату
[19:29:20] Typhon вышел(а) из комнаты
[19:56:08] komar вышел(а) из комнаты
[19:58:50] digimmortal вышел(а) из комнаты
[20:35:43] avysk вошёл(а) в комнату
[20:39:25] shaggie вышел(а) из комнаты
[20:41:13] <f[x]> mfp объяснил что в "float" низя аллокейтить
[20:41:22] <f[x]> caml_c_call does this amongst other things before calling the C function ->   /* Make the exception handler and alloc ptr available to the C code */   STORE_VAR(%r15, caml_young_ptr)  STORE_VAR(%r14, caml_exception_pointer)
[20:41:30] avysk вышел(а) из комнаты
[20:42:07] <f[x]> т.е. exn_ptr содержит старое значение поэтому исключение вылетает за try блок
[21:01:12] bobry- вышел(а) из комнаты
[21:33:05] ftrvxmtrx вышел(а) из комнаты
[21:51:40] bobry вышел(а) из комнаты
[21:51:50] bobry вошёл(а) в комнату
[22:30:35] komar вошёл(а) в комнату
[22:43:59] ftrvxmtrx вошёл(а) в комнату
[23:30:21] komar вышел(а) из комнаты: Replaced by new connection
[23:30:22] komar вошёл(а) в комнату
[23:31:03] shaggie вошёл(а) в комнату
[23:38:09] gds вышел(а) из комнаты
[23:44:43] komar вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!