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

GMT+3
[00:09:47] ygrek вошёл(а) в комнату
[00:10:18] Kakadu вышел(а) из комнаты
[01:18:37] gds вышел(а) из комнаты
[01:19:31] ygrek вышел(а) из комнаты
[02:14:34] Typhon вышел(а) из комнаты
[08:55:15] ermine вошёл(а) в комнату
[10:10:38] ygrek вошёл(а) в комнату
[10:16:58] Kakadu вошёл(а) в комнату
[10:38:19] gds вошёл(а) в комнату
[12:02:52] bobry вошёл(а) в комнату
[12:04:51] <bobry> http://users.livejournal.com/_adept_/117010.html
[12:05:07] <bobry> реквестирую комментариев от камло-джедаев
[12:07:45] <f[x]> ужс
[12:08:39] <gds> http://users.livejournal.com/_adept_/117010.html?thread=3147282#t3147282
[12:09:34] <gds> адепт х-я.
[12:10:17] f[x] заскринили, впрочем ответ идентичный
[12:10:51] <Kakadu> gds: а где там нажать чтобы комментировать?
[12:11:12] <Kakadu> ааа, нашел
[12:11:46] <gds> Kakadu: да ладно, с двух ответов дойдёт.
[12:12:08] <Kakadu> там пока 1 только
[12:12:24] <gds> 2, только 1 виден, а 1 не виден.
[12:14:34] <bobry> не верю что ему в janestreet этого не рассказали
[12:15:39] <Kakadu> gds: отвечай на контраргумент
[12:15:47] <Kakadu> ermine: нада тебя туда с оазисом
[12:17:44] <bobry> чем интересно оазис страшен
[12:17:51] <bobry> хотя может по сравнению с кабалом ...
[12:22:16] <gds> f5
[12:24:59] <Kakadu> а чтобы я сделал inher на камлобилде, то я должен делать по аналогии с этим? http://brion.inria.fr/gallium/index.php/Ocamlbuild_example_with_C_stubs
[12:30:08] <ermine> куда с оазисом?
[12:30:44] <Kakadu> ermine:  в ЖЖ адепта. Или сразу в Лондон)
[12:31:12] <ermine> Kakadu: не, они обойдутся - им за это платят
[12:32:38] ermine пульнула свежий lablqt, похоже там таки кипит жизнь
[12:33:01] <Kakadu> ermine: я смержил ветки
[12:33:21] <ermine> Kakadu: переходить в мастера?
[12:33:59] <Kakadu> будь мастерицей
[12:34:25] <ermine> 8-)
[12:34:46] <ermine> я тут завершила другие дела и теперь щас как вложусь в горгону
[12:35:25] bobry вышел(а) из комнаты
[12:38:09] ygrek вышел(а) из комнаты: Replaced by new connection
[12:38:09] ygrek вошёл(а) в комнату
[12:58:48] komar вошёл(а) в комнату
[12:59:39] <komar> Опять топик сменили.
[13:07:31] gorgona вошёл(а) в комнату
[13:08:49] <gds> на второй день до зоркого глаза допёрла шуточка про stoat.
[13:17:26] bobry вошёл(а) в комнату
[13:22:25] <gds> чото легалл активизировался и приглашает в гуглоплюс, типа-коммунити околокамловое сделал, как я понял.  и ещё один знакомый чото.  это вообще не стрёмно, не законтачусь?  кто-то есть оттуда?
[13:23:19] <f[x]> предохраняйся и всё будет ок
[13:23:44] <f[x]> ле галл бы лучше оазис пилил чем очередной "коммунити" собирал
[13:24:20] <gds> надо ему сказать об этом.
[13:31:30] ftrvxmtrx вошёл(а) в комнату
[13:38:41] shaggie вошёл(а) в комнату
[13:46:43] bobry вышел(а) из комнаты
[14:06:33] Typhon вошёл(а) в комнату
[14:14:46] ftrvxmtrx вышел(а) из комнаты
[14:14:48] gorgona вышел(а) из комнаты
[14:33:24] komar вышел(а) из комнаты
[14:36:18] <gds> если кто хочет почесать репку, вот задачка.  (я её кое-как решил, криво, но типобезопасно.)
есть:
class type ti 'a  -- какая-то информация о типе.  Предоставляет, для краткости, #cmp для сравнения и #show для вывода в строку.  (но не только; может предоставлять что-то ещё.)
type ubox;
value ubox : ti 'a -> 'a -> ubox;
value ubox_cmp : ubox -> ubox -> cmp_res;  (* cmp_res == [LT|EQ|GT] *)
далее, я знаю (пользователь системы знает, coding style), что оба ubox, которые передаются аргументами в ubox_cmp, имеют один и тот же тип (ну, или, "ti 'a" у них был один и тот же).
как написать ubox_cmp?
[14:43:34] ygrek вышел(а) из комнаты
[14:44:32] ftrvxmtrx вошёл(а) в комнату
[14:56:13] ftrvxmtrx вышел(а) из комнаты
[15:13:07] ftrvxmtrx вошёл(а) в комнату
[15:14:45] <gds> кто-нибудь ковырял, как по производительности сравниваются
let x = myrecord.field
и
let M = (value mymodule : S) in
M.field
, при условии равных myrecord.field и M.field?
[15:17:38] <ermine> второе выглядит круче
[15:18:31] <gds> с другой стороны, больше букавок, _следовательно_, дольше работает111
[15:19:10] ftrvxmtrx вышел(а) из комнаты
[15:19:38] <ermine> а так вроде там и там массив?
[15:21:05] <gds> вроде -- да.  то есть, сами myrecord.field и M.field равны по скорости.  а вот распаковка модуля -- это чисто логическая операция или там какие-то фокусы происходят -- это же проверять надо.  а лень.
[15:21:24] <ermine> у камла есть недокументированный ключик, который позволяет заценивать такие вещи
[15:21:32] <gds> лень!
[15:23:51] <ermine> я тут заценила как класс удобно юзать "сзади", т.е. я поделила горгону на две части - хмпп-либлу и программу-гуй, во втором определяешь класс и даешь его либле повызывать методы, а вот без модулей фирст-класса непонятно как такое реализовать без помощи классов
[15:30:15] <gds> это классическое "позднее связывание" (не путать с bdsm).  реализовать-то просто -- создаёшь в гуе запись на основе типа, определённого в хмпп, и передаёшь.  типа-колбэки.  или что-то упустил?
[15:31:11] <gds> ну, mutable state делается тоже, типа
let myrec = let state = ref ... in { func1 = fun x -> state.val := x }
[15:31:54] <gds> и даже наследование делается:
let inherit_myrec = { myrec with func1 = fun x -> (myrec.func1 x; do_something ()) }
[15:39:14] <ermine> блин
[15:39:36] <ermine> меня тут осеняла гениальная идея улучшения интерфейса либлы xmpp, посмотрела, а она там уже реализована давно
[15:44:10] <gds> http://users.livejournal.com/_adept_/117380.html -- продолжение цирка с конями, клоунами и карликами, беспорядочно содомирующими друг друга
[15:45:54] <Typhon> поржал утром сегодня
[15:46:03] <gds> продолжи же!
[15:46:07] <Typhon> а, это вторая!
[15:46:11] <Typhon> я на первую ржал
[15:46:21] <Typhon> как камлунити в комментах раскатало все претензии %)
[15:46:50] <Kakadu> а почему я комменты не вижу?
[15:47:02] <Kakadu> ааа
[15:47:06] <Kakadu> потому что второй пост
[15:47:34] <gds> там и ещё ржака будет, судя по заготовленному.
[15:47:39] <f[x]> чорт, с таким-то раскладом странно что у меня вообще есть проекты которые собираются
[15:47:41] <gds> и по forward references
[15:48:00] <gds> f[x]: ТЫ ВСЁ ДЕЛАЕШЬ НЕПРАВИЛЬНО
[15:48:29] <f[x]> читаю, учусь, скоро буду как та сороконожка что ходить разучилась
[15:49:02] <gds> а ты бороду кладёшь на одеяло или под одеяло?
[15:49:16] <f[x]> ааааааа
[15:56:48] <gds> народ, помогайте, я даже не знаю, чем там откаментить :[
[15:57:00] <gds> так, чтобы не повторяться.
[15:57:55] <gds> - засунем в задницу кирпич -- видите, как плохо?
- не нужно засовывать в задницу кирпич!
- а теперь засунем в задницу ещё один кирпич -- видите, вообще неудобно ходить?
- ...
[15:59:39] f[x] уже в таком духе отписал
[16:05:52] Typhon вышел(а) из комнаты: Replaced by new connection
[16:05:53] Typhon вошёл(а) в комнату
[16:09:07] <ermine> а что круче - (fun _ -> ()) или ignore как дефолтное значение опционального аргумента?
[16:09:36] ermine чисто постебаться
[16:10:03] <gds> ignore, кажется, тебя не устроило, и я догадываюсь, почему.
[16:11:47] <ermine> почему?
[16:12:53] <gds> а нет, не угадал.  значит почти пофиг.
[16:13:41] <ermine> буковок меньше
[16:13:43] <ermine> а что еще?
[16:14:47] <gds> ignore кое-как специален -- например, предупреждение даёт в случае неполного применения функции.  но тут это не повлияло, проверил.
[16:14:48] ermine полезла смотреть как имплементирован ignore
[16:16:19] <ermine> а, если передавать недобитую функцию
[16:17:16] <ermine> external ignore
[16:17:26] <ermine> наверняка еще и побыстрее будет
[16:18:21] ermine вписала ignore в код
[16:18:35] <ermine> вот такое вот творчество
[17:29:03] ftrvxmtrx вошёл(а) в комнату
[17:38:08] Typhon вышел(а) из комнаты
[17:40:11] letrec вошёл(а) в комнату
[17:43:21] ftrvxmtrx вышел(а) из комнаты
[17:43:53] Typhon вошёл(а) в комнату
[17:44:06] ftrvxmtrx вошёл(а) в комнату
[17:44:22] ftrvxmtrx вышел(а) из комнаты
[17:44:58] ftrvxmtrx вошёл(а) в комнату
[17:50:54] ftrvxmtrx вышел(а) из комнаты
[17:51:26] ftrvxmtrx вошёл(а) в комнату
[18:08:56] ftrvxmtrx вышел(а) из комнаты
[18:09:27] ftrvxmtrx вошёл(а) в комнату
[18:10:45] ftrvxmtrx вышел(а) из комнаты
[18:12:18] ftrvxmtrx вошёл(а) в комнату
[18:26:19] Kakadu вышел(а) из комнаты
[19:01:40] Typhon вышел(а) из комнаты
[19:08:16] ftrvxmtrx вышел(а) из комнаты
[19:09:05] ftrvxmtrx вошёл(а) в комнату
[19:18:10] ftrvxmtrx вышел(а) из комнаты
[19:25:31] Kakadu вошёл(а) в комнату
[19:30:24] letrec вышел(а) из комнаты
[20:20:24] bobry вышел(а) из комнаты
[20:34:54] bobry вошёл(а) в комнату
[21:21:51] komar вошёл(а) в комнату
[22:06:13] ftrvxmtrx вошёл(а) в комнату
[22:12:37] shaggie вышел(а) из комнаты
[22:39:02] ftrvxmtrx вышел(а) из комнаты
[22:39:20] ftrvxmtrx вошёл(а) в комнату
[22:44:12] <gds> http://users.livejournal.com/_adept_/117010.html?thread=3151634#t3151634
[22:46:30] ftrvxmtrx вышел(а) из комнаты
[22:47:59] ftrvxmtrx вошёл(а) в комнату
[22:50:12] ftrvxmtrx вышел(а) из комнаты
[22:52:07] ftrvxmtrx вошёл(а) в комнату
[23:04:31] ermine вышел(а) из комнаты
[23:06:55] ftrvxmtrx вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!