Home
Objective Caml
ocaml@conference.jabber.ru
Понедельник, 21 июня 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
[01:44:29] Typhon вышел(а) из комнаты
[01:49:52] ermine вышел(а) из комнаты
[01:53:42] Typhon вошёл(а) в комнату
[03:06:41] komar вошёл(а) в комнату
[07:56:45] digital_curse вышел(а) из комнаты
[08:03:58] iNode вышел(а) из комнаты
[08:17:46] gds вышел(а) из комнаты
[08:32:42] Typhon вышел(а) из комнаты
[08:39:12] iNode вошёл(а) в комнату
[09:03:27] gds вошёл(а) в комнату
[09:37:52] Typhon вошёл(а) в комнату
[10:13:38] ermine вошёл(а) в комнату
[10:17:01] serp256 вошёл(а) в комнату
[10:29:15] Kakadu вошёл(а) в комнату
[10:29:36] Kakadu вышел(а) из комнаты
[11:09:35] serp256 вышел(а) из комнаты
[11:40:34] ʇsʎɯ вошёл(а) в комнату
[12:22:42] serp256 вошёл(а) в комнату
[13:57:23] Kakadu вошёл(а) в комнату
[13:57:29] Kakadu вышел(а) из комнаты
[16:00:51] Typhon вышел(а) из комнаты: Replaced by new connection
[16:00:52] Typhon вошёл(а) в комнату
[16:02:52] Typhon вышел(а) из комнаты
[16:02:56] Typhon вошёл(а) в комнату
[17:10:09] <gds> кто-нибудь lwt ковырял?  можно ли там сделать такую штуку, чтобы определённое вычисление, засунутое в тред, производилось только тогда, когда этот тред получает управление?
Lwt.return (f x) -- сразу вычислит f x.
Lwt.bind (Lwt.return ()) (fun () -> f x) -- задержит ли вычисление, или это вообще не то?
хз как простым образом проверить это.
[17:13:15] vshender вышел(а) из комнаты
[17:13:34] <komar> gds: lazy, не?
[17:17:11] <gds> т.е. Lwt.return (lazy (f x)), а потом вручную Lazy.force?  думаю извращаться, сериализовать эти значения, поэтому вроде не покатит. (не уверен)
Впрочем, попробую определиться, что же _точно_ мне надо.
[17:18:20] <komar> Хотя, что-то я странное предложил.
[17:20:07] <gds> вроде не, просто у меня задача странная и ещё не до конца определённая.
[17:20:12] <komar> Я так понимаю, что тебе Lwt нужен для того, чтобы какой-нибудь read() не портил всю картину. А в f x ты что хочешь вложить?
[17:20:52] <gds> мне хочется передать функцию с типом 'a -> 'b Lwt.t в другой процесс, там посчитать, затем результат передать взад.
[17:22:11] <gds> в общем, тут такая магея происходит, самому страшно.
ну или
parbind :: ('a -> 'b -> 'c) -> (unit -> 'a) -> (unit -> 'b) -> 'a -> 'b -> 'c Lwt.t
[17:22:32] <komar> А если ещё выше, то что надо?
[17:23:19] gds спалился двойным двоеточием.  чорт.
[17:23:37] <Typhon> :)
[17:23:59] <komar> Вообще, можешь пока заюзать Lwt_preemptive.detach f x и идти спать.
[17:24:32] <gds> не, -threads там, не хочу detach.
[17:24:52] <gds> parbind -- было бы круто.  Выше -- наверное, параллельный fold какой-нибудь.
mapreduce : ~map:('a -> 'b) -> ~reduce:('b -> 'b -> 'b) -> 'a list -> 'b
[17:26:13] <komar> Так его уже изобрели.
[17:26:19] <komar> Lwt_list
[17:26:37] <komar> А вот с reduce ты конкретно спалился.
[17:27:52] <gds> Lwt_list -- это хорошо, но оно рожает lwt-треды для параллельной обработки, мне же надо передавать в другой процесс.
[17:30:06] iNode вышел(а) из комнаты
[17:30:33] gds вышел(а) из комнаты
[17:37:33] <komar> А теперь скажите, как собрать в кучу документацию, которую нагенерировал ocamldoc от трёх разных компиляторов.
[17:38:47] <komar> ocamldoc1 -dump file && ocamldoc2 -load file жалуется на несовместимость, ocamldoc1 -d doc && ocamldoc2 -d doc удаляет всё от ocamldoc1 и оставляет только нагенерированное с помощью ocamldoc2.
[18:24:57] serp256 вышел(а) из комнаты
[19:11:20] ʇsʎɯ вышел(а) из комнаты
[19:22:58] gds вошёл(а) в комнату
[19:39:30] vshender вошёл(а) в комнату
[19:44:12] iNode вошёл(а) в комнату
[20:05:30] Typhon вышел(а) из комнаты
[21:04:31] Typhon вошёл(а) в комнату
[21:37:47] gds вышел(а) из комнаты: Replaced by new connection
[21:37:48] gds вошёл(а) в комнату
[21:38:40] digital_curse вошёл(а) в комнату
[22:53:19] Kakadu вошёл(а) в комнату
[22:53:25] Kakadu вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!