Home
Objective Caml
ocaml@conference.jabber.ru
Пятница, 17 июля 2009< ^ >
f[x] установил(а) тему: Камло -- http://caml.inria.fr | chatlog -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ (старые -- http://ocaml.seajelly.org/ ) | верблюды грязи не боятся!
Конфигурация комнаты

GMT+4
[01:00:10] sevenov вышел(а) из комнаты
[01:01:11] sevenov вошёл(а) в комнату
[02:57:12] sevenov вышел(а) из комнаты
[02:57:53] sevenov вошёл(а) в комнату
[03:07:09] sevenov вышел(а) из комнаты
[03:09:23] sevenov вошёл(а) в комнату
[03:20:31] sevenov вышел(а) из комнаты
[03:21:21] sevenov вошёл(а) в комнату
[08:20:14] gds вышел(а) из комнаты
[08:25:13] sevenov вышел(а) из комнаты
[08:50:52] john вошёл(а) в комнату
[08:57:26] gds вошёл(а) в комнату
[09:51:22] john вышел(а) из комнаты
[09:51:59] john вошёл(а) в комнату
[09:55:42] Typhon вошёл(а) в комнату
[10:09:38] daapp вошёл(а) в комнату
[10:35:02] f[x] вошёл(а) в комнату
[11:18:47] john вышел(а) из комнаты: Replaced by new connection
[11:18:48] john вошёл(а) в комнату
[12:22:38] f[x] добрался и до ocsigen
[12:22:41] <f[x]> точнее до XHTML.M
[12:23:07] <f[x]> под виндой даже почти без бубнов взлетел :)
[12:24:22] <gds> а оно же ocamlnet юзает вроде?
[12:25:24] <f[x]> я сказал "почти" :)
[12:25:54] <f[x]> Netstring_pcre.global_replace -> ExtString.replace
[12:26:23] <f[x]> неэффективно, но мне только для тестов
[12:26:39] <f[x]> правда на examples/www_ls.ml ругается
[12:31:22] <f[x]> а, разобрался, у меня ocamldoc почему-то типы слишком явные вывел
[12:37:29] <gds> так а всякое сетевое общение у ocsigen -- не через ocamlnet?
[12:37:58] <gds> и интересно, как типы, выведенные ocamldoc, влияют на что-либо кроме документации.
[12:38:02] <f[x]> да, но я взял только XHTML
[12:38:07] <f[x]> выдрал нагло
[12:38:16] <f[x]> пока не осилю собрать его нормально
[12:39:10] <f[x]> на сайте дока тоже ocamldoc'ом сгенерена, я видимо как-то не так его вызвал
[12:39:13] <f[x]> а, чёрт
[12:39:24] <f[x]> я смотрел в модуль, а надо было в сигнутуру
[12:39:49] <f[x]> теперь всё правильно
[12:48:02] john вышел(а) из комнаты
[12:49:46] john вошёл(а) в комнату
[13:19:10] f[x] установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ (старые -- http://ocaml.seajelly.org/ ) | Верблюды грязи не боятся!
[13:19:56] <ermine> f[x]: а ocamlduce осилил?
[13:20:20] <f[x]> ermine: неа
[13:20:37] <ermine> f[x]: ачиво?
[13:20:49] <f[x]> ermine: а нафига?
[13:21:03] <f[x]> ну т.е. мне не нужно манипулировать xml документами
[13:21:12] <f[x]> а он дл этого и предназначен вроде бы?
[13:21:20] <ermine> шагу не сделать влево или вправо от xhtml стандартов
[13:21:37] <ermine> ужасно злобный вещь, и ругается невнятно
[13:21:54] <f[x]> меня пока и XHTML.M запугал сообщениями об ошибке
[13:23:05] <ermine> я решила там не маяться разнообразием выражения xhtml и остановилась на самой злобной штуке
[13:24:00] <ermine> вот бы еще они починили багу в lwt_chan.open_connection и можно было бы продолжать развлекаться
[13:25:32] <ermine> gds: помницо ты ворчал что lwt под виндой вряд ли будет работать, а вот в ocsigen он же работает под виндой?
[13:26:19] <gds> где именно работает?
[13:26:39] <ermine> в ocsigen
[13:26:57] <ermine> правда подозреваю что только на приёме соединений
[13:27:26] <f[x]> а кто-нибудь видел ocsigen под виндой?
[13:27:33] <ermine> gds: и все обслуживания сервисов/страниц тоже на lwt основаны
[13:27:37] <gds> ну да, lwt работает, как-то так:
(*
Non-blocking I/O and select does not (fully) work under Windows.
The libray therefore does not use them under Windows, and will
therefore have the following limitations:
- No read will be performed while there are some threads ready to run
or waiting to write;
- When a read is pending, everything else will be blocked: [sleep]
will not terminate and other reads will not be performed before
this read terminates;
- A write on a socket or a pipe can block the execution of the program
if the data are never consumed at the other end of the connection.
In particular, if both ends use this library and write at the same
time, this could result in a dead-lock.
- [connect] is blocking
*)
[13:28:50] <ermine> это откуда?
[13:29:24] <gds> $lwt/src/lwt_unix.ml
[13:30:02] <gds> в принципе, select виндовый уже сделали (на порядка 4к сокетов, если правильно понял метод), так что возможно комментарий устарел.
[13:31:24] <ermine> я не уверена, что ocsigen сейчас использует селект
[13:31:49] <gds> а он использует Lwt_unix.{read,write}?
[13:32:52] <ermine> хз
[13:33:13] <ermine> кроме того ocsigen под фрей утекает в сутки примерно на три метра
[13:33:53] <gds> ололо
[13:36:03] <f[x]> шоке шоке :)
[13:37:08] <ermine> Поскольку в lwt из darcs сейчас стоит затычка на signalfd для freebsd, то я не стала репортить эту проблему
[13:37:30] <ermine> надо посмотреть как оно под ляликсом
[13:39:57] <f[x]> <troll>наверняка всё ок. это ведь нормальная система в отличие от.</troll>
[13:42:13] <ermine> пусть сначала пофиксят connect
[13:47:08] <john> ocsigen использует Lwt_unix. А тот, в свою очередь, все события обрабатывает через select().
[13:47:12] john вышел(а) из комнаты
[13:47:52] john вошёл(а) в комнату
[13:49:27] <ermine> мне один хренцуз обещал что ocsigen может обслужить неограниченное кол-кво сокетов (ограниченное только ulimits)
[13:49:42] <ermine> правда не ответил, не селект ли там
[13:53:20] <john> ocsigen всё делает через Lwt. Lwt специально для него и писали. Исходники Lwt я изучал (по крайней мере, ту версию, что есть в debian testing), как раз для выяснения этого момента. Надо было выяснить, насколько ocsigen хорошо масштабируется, использует ли epoll/kqueue. Вообще, не очень ясно, почему они сделали поддержку только select(). Базировали бы на libevent, и всё стало бы чудненько.
[13:56:30] <ermine> они только планируют kernell poll и начали с signalfd, который есть не везде
[13:56:45] <ermine> это в darcs версии
[13:57:57] <ermine> в этом плане они не отличаются от других пионеров, решивших поэкспериментировать с чем-то
[14:24:48] Typhon вышел(а) из комнаты: Replaced by new connection
[14:24:49] Typhon вошёл(а) в комнату
[14:25:34] Kakadu вошёл(а) в комнату
[14:27:17] <Kakadu> привет. У меня тут Fatal error: exception Invalid_argument("output_value: functional value"). Я плохо понимаю что имеется ввиду...
[14:30:58] <gds> среди сериализуемого есть функциональное значение.
[14:31:24] <gds> см. http://caml.inria.fr/pub/docs/manual-ocaml/libref/Marshal.html
[14:32:42] <Kakadu> круто, спасибо. Это объясняет почему классы не маршалятся
[14:33:52] <gds> угу. то есть, замаршаллить можно, но восстанавливать ровно в том же executable.
[14:35:07] <Kakadu> и ещё флаг ставить Marchal.Closures...
[14:37:01] daapp вышел(а) из комнаты
[14:48:00] f[x] установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся!
[15:01:31] Kakadu вышел(а) из комнаты
[15:12:33] sevenov вошёл(а) в комнату
[15:13:54] john вышел(а) из комнаты
[15:19:14] <f[x]> дебиановский ocsigen собран только в байткоде..
[15:34:52] <ermine> а чем это плохо?
[15:44:04] <f[x]> мне нужен натив
[15:44:14] <f[x]> придётся с собой таскать
[16:17:12] <ermine> или напиши багрепорт
[16:18:14] <f[x]> тоже вариант, но навернео у них причины были
[16:18:50] <ermine> вряд ли
[16:47:11] sceptic вышел(а) из комнаты
[17:07:00] sceptic вошёл(а) в комнату
[17:28:55] sevenov вышел(а) из комнаты: Replaced by new connection
[17:29:01] sevenov вошёл(а) в комнату
[17:30:50] gds вышел(а) из комнаты
[18:47:17] gds вошёл(а) в комнату
[19:27:29] Typhon вышел(а) из комнаты
[20:40:18] f[x] вышел(а) из комнаты: Computer went to sleep
[22:16:21] sevenov вышел(а) из комнаты
[22:19:28] sevenov вошёл(а) в комнату
[22:56:56] ygrek вошёл(а) в комнату
[23:40:33] sevenov вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!