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

GMT+4
[00:03:06] Kakadu вошёл(а) в комнату
[00:13:32] <gds> ermine: по сравнению с поэлементной обработкой -- едущую сильно вперде!
[00:15:38] arhibot вошёл(а) в комнату
[00:19:12] Kakadu вышел(а) из комнаты
[00:22:17] <gds> то есть, тут кэп докладывает, что поэлементная обработка == говно, если нужно часто/обычно обрабатывать много, и затраты на обработку одного элемента сравнимы с затратами на обработку пачки элементов.
а код, который с вводом-выводом связан, лучше по-любому держать как-то отдельно от кода, который Дело Делает.
[00:24:05] gds понимает про исключения из этих "гадлайнов".  Но, тем не менее, 95% софта попадает в них таки.
[00:27:26] arhibot вышел(а) из комнаты
[00:35:43] Typhon вошёл(а) в комнату
[00:38:12] gds вышел(а) из комнаты
[00:38:32] gds вошёл(а) в комнату
[01:01:02] avysk вошёл(а) в комнату
[01:01:39] avysk вышел(а) из комнаты
[01:17:56] ermine вышел(а) из комнаты
[01:43:09] komar вышел(а) из комнаты: Replaced by new connection
[01:43:09] komar вошёл(а) в комнату
[02:10:15] komar вышел(а) из комнаты: Replaced by new connection
[02:10:15] komar вошёл(а) в комнату
[02:52:03] zinid вошёл(а) в комнату
[03:51:03] digimmortal вошёл(а) в комнату
[03:51:03] digimmortal вышел(а) из комнаты
[03:51:18] digimmortal вошёл(а) в комнату
[04:11:52] Typhon вышел(а) из комнаты
[04:51:34] digimmortal вышел(а) из комнаты
[08:46:27] Typhon вошёл(а) в комнату
[09:21:14] Kakadu вошёл(а) в комнату
[09:28:02] Typhon вышел(а) из комнаты
[10:28:32] Typhon вошёл(а) в комнату
[10:33:22] ermine вошёл(а) в комнату
[10:52:41] <Kakadu> нечасто увидишь как ocamlopt съеает 800М
[10:54:38] <Kakadu> 1,1 Гб. Кто больше?
[10:56:22] <f[x]> кстати, ты крэш свой позавчерашний нашёл?
[10:57:32] <Kakadu> скорее всего я делал marshal.to_channel, п потом поменял типы
[10:58:01] <Kakadu> полтора гига
[11:03:18] <f[x]> лень что-ли тэги использовать?
[11:04:41] <Kakadu> f[x]: ммм?
[11:15:46] <f[x]> миллион раз уже обсуждалось - стандартный способ обезопасить marshal
[11:16:48] <f[x]> http://paste.in.ua/2913/
[11:19:09] <Kakadu> любопытно
[11:19:12] <Kakadu> в вики есть?
[11:24:31] shaggie вошёл(а) в комнату
[11:24:44] <f[x]> главное дефайнить тип сразу в модуле с тэгом, а не просто использовать alias
[11:24:46] shaggie вышел(а) из комнаты
[11:24:57] <f[x]> т.е. смысл в том чтобы визуально структура типа и value были рядом
[11:44:28] bobry- вошёл(а) в комнату
[12:14:13] <bobry-> товарищи, а как в lwt сделать sleep? что то не могу найти
[12:17:35] <Typhon> val sleep : float -> unit Lwt.t <http://ocsigen.org/lwt/api/Lwt#TYPEt>
[12:18:21] <bobry-> http://ocsigen.org/lwt/api/Lwt_unix#VALsleep
[12:18:23] <bobry-> вот я слепой
[12:18:28] <bobry-> спасибо Typhon :)
[12:23:10] <gds> в общем, я понял, чего мне не хватает в объектах.  Не хватает какого-нибудь легковесного способа загнать параметризованный тип под квантор всеобщности.  То есть, что-то вида
forall t _ , fmap : forall 'a, 'b, ('a -> 'b) -> t 'a -> t 'b
[12:24:04] <gds> и самое простое решение вопроса в текущем окамле -- это таки да, функтор, берущий модуль с этим самым параметризованным типом.
[12:24:31] <gds> ну и вообще, это модули, как бы.
[12:25:30] <Typhon> а в модулях чего не хватает?
[12:27:56] shaggie вошёл(а) в комнату
[12:30:32] <ermine> чтобы брать модуль, не обязательно писать функтор!
[12:33:42] <gds> Typhon: вот чего: http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/2011/08/15.html#21:27:06.728680 , однако это мелочи, как я понимаю.
[12:34:49] <gds> ну и не нравятся модули тем, что нужно везде помнить, к какому модулю относится данное значение, чтобы именно его функцию применить, чтобы протипизировалось.
[12:42:59] <gds> подумалось извращение: при препроцессинге функции, не имеющие приписанного "модульного пути", обрабатывать так: заменить функцию на (fun _ -> raise Exit), посмотреть типы применяемых аргументов, и пробовать компилировать применение этой функции, дописывая разные модули (определённым образом выбранных -- например, из типа аргумента), пока не скомпилируется.  Ну чем я не ональных дел проектировщик?
[12:49:26] <f[x]> gds: поздравляю, ты изобрёл implicit'ы :)
[12:53:32] <gds> только ещё круче, с модулями и с перебором в препроцессоре!
[13:20:36] shaggie вышел(а) из комнаты
[13:23:29] <gds> "Already two persons don't see the problem at first glance; It proves that I was right starting the topic"
помню-помню, обсуждали мы этот вопрос в чятике.  вообще, этот тред рассылки рекомендую.
[13:23:34] <gds> там биндингота
[13:25:47] <f[x]> урлы
[13:28:17] shaggie вошёл(а) в комнату
[13:32:11] <gds> это ждать надо, пока появится на вебе.
[13:37:42] iNode вышел(а) из комнаты
[14:16:48] <Kakadu> кто знает норм статью при implicit'ы для чайников?
[14:50:44] <gds> Kakadu: по ним только одна статья: http://www.lexifi.com/blog/implicit-values
[15:02:36] <Kakadu> мдя, что-то вырвиглазное
[15:05:49] <gds> удивительно, как люди могут обращать внимание на синтаксис при такой семантике.
[15:14:32] <Kakadu> наверное я просто не понял
[15:15:26] <gds> не нужно обращать внимание на синтаксис в подобных вещах.
[15:44:02] digimmortal вошёл(а) в комнату
[16:43:01] mrm вошёл(а) в комнату
[16:56:01] komar вышел(а) из комнаты: Replaced by new connection
[16:56:03] komar вошёл(а) в комнату
[16:57:08] mrm вышел(а) из комнаты
[18:05:13] zinid вышел(а) из комнаты
[19:30:45] Typhon вышел(а) из комнаты
[19:40:08] bobry- вышел(а) из комнаты
[20:41:28] digimmortal вышел(а) из комнаты
[21:07:42] shaggie вышел(а) из комнаты
[21:10:03] ygrek вошёл(а) в комнату
[21:17:14] bobry вышел(а) из комнаты
[21:18:14] bobry вошёл(а) в комнату
[21:35:51] <gds> р.жонс не знает цэ.  а кто же должен знать цэ, спрашивается?  я, а ещё и за него?  ну нет.
[21:42:56] <ygrek> охтыж, судя по кол-ву писем тред ни о чём
[21:44:28] <gds> ни о чём, что может быть интересно джентельмену средних лет.
[21:50:49] <ygrek> хм, хотя не, интересно, я честно говоря и не знаю какой правильный ответ
[21:54:32] <gds> в текущих реалиях -- сначала срать в local roots, потом sequence point, потом вызывать мусорщика.  не?
[21:59:35] shaggie вошёл(а) в комнату
[22:03:57] Typhon вошёл(а) в комнату
[22:05:32] ygrek предпочитает написать немножко больше кода, но чтобы наверняка, особенно на сях
[22:06:29] ermine ввалилась в конфу с велика и теперь грызет сникерс
[22:06:34] <ermine> чо вы тут обсуждаете?
[22:07:32] <gds> ygrek: правильно.  ";" это sequence point, и всякое "localvar = lets_alloc_some_shit(); lets_use_allocated(localvar);" -- должно быть валидно, конечно, если localvar объявлена чотко.  я примерно про то же.  чо тут думать.
[22:07:33] <ermine> камлолист?
[22:08:16] <ygrek> угу
[22:09:36] <gds> ermine: сишечьку.  будешь говнеца на лопате от керриган и ричи б.?
[22:15:01] ermine посмотрела на сабжекты в мейллисте
[22:15:24] ermine посмотрела на фромы
[22:15:49] <ermine> работа явно кипит
[22:20:07] <gds> в сишечьке всегда кипит -- спецификация чёткая, язык развивается.  а в окамле -- мертвота, потому что и "окамл мёртв", и "спецификация из имплементации".  давайте переходить на цэ!  а ещё лучше -- на плюсы, там даже коитет есть.
[22:20:53] <ermine> а это там теперь такая мода - расшарить свои научные открытия?
[22:22:49] <ermine> а сегодня CWN так и не выпустили
[22:28:04] bobry вышел(а) из комнаты
[22:28:10] bobry вошёл(а) в комнату
[22:56:59] bobry вышел(а) из комнаты
[22:58:29] bobry вошёл(а) в комнату
[23:11:20] bobry вышел(а) из комнаты
[23:11:31] bobry вошёл(а) в комнату
[23:11:56] <bobry> товарищи, покажите мне какой нить код с react?
[23:13:16] <bobry> если вдруг у кого есь
[23:13:52] <ermine> а зачем он нужен?
[23:14:05] <ermine> у него даже альтернатива есть, склероз как он называется
[23:14:37] <ermine> fproc, вот
[23:14:46] <ermine> если только не обозралась :)
[23:15:18] <bobry> ага, про frpoc пока не читал
[23:15:34] <bobry> я вот и пытаюсь понять зачем он нужен и мб применить его в мини-проектике
[23:16:59] <ermine> и то, и другое тухляк неразвивающийся, хотя наверное gds вступится за честь мёртвой репки
[23:18:42] <gds> какая ещё честь, вы о чом.  только деньги.
[23:22:28] <bobry> какие еще деньги, там же LGPL небось
[23:23:42] ermine предпочитает bsd3
[23:23:52] <gds> вот я и говорю -- какие ещё честь, репка, смерть, неразвитие, тухляк, другое, то, ... ?
[23:25:21] <ermine> gds: ты недавно в другом нашем горячем споре не соглашался, что репка, в которой давно нет изменений, уже никому не нужна
[23:26:57] <bobry> у react к слову аж 0.9 версия, а у frpoc похоже 0.2 последняя была
[23:27:15] <gds> ermine: дискуссия была, факт.  Я утверждал (и до сих пор), что код должен работать.  А то, что он волею кого-л. всунут в репку -- ну, бывает и такое, чо.
[23:29:05] <ermine> gds: поэтому я смело заявила, что ты вступишься за честь той рёпки!
[23:30:13] <gds> ermine: тот говнокод, который _на меня_ не работает?  Нет же!  Это бесчестный, нечестивый кодэ!
[23:30:44] <bobry> gds: ну ты сам его неиспользуешь :)
[23:31:24] <ermine> использует react?
[23:31:32] <ermine> o_O
[23:32:01] <gds> bobry: значит, тот код, про который я говорил, на меня работал.
react -- не знаю.  может, скорее всего, lwt его использует?
[23:32:16] <bobry> lwt его умеет эмулировать, если я правильно понял
[23:32:43] <gds> для компиляции требует, точно.
[23:33:09] <bobry> erm, ну оно с ним линкуется наверное
[23:33:39] <ermine> нет
[23:33:43] <ermine> Lwt_react
[23:33:52] <ermine> и lwt можно собрать без react
[23:34:19] <ermine> а eliom требует чтобы lwt был собран с react
[23:34:36] bobry не прав стало быть
[23:34:44] ermine блеснула свежим умом
[23:36:32] <bobry> ermine: а ты чего кстати бложик на ocsigen'e забросила?
[23:37:43] <ermine> bobry: споктнулась об научные вопросы парсинга
[23:39:51] <ermine> как решу, то продолжу
[23:44:57] <Typhon> komar, привет! https://github.com/yziquel/OCaml-Python
[23:46:55] <ermine> если там в биндинге с умом, то там навалом private abbreviation types, в общем полная заумь
[23:47:25] <ermine> где-то на janestreet автор какой-то ocaml-python в комментах с этим выступал
[23:47:27] <Typhon> но на самом деле у парня интереснее https://github.com/yziquel/OCaml-R
[23:48:17] <ermine> ну значит это он и есть
[23:48:39] <komar> Typhon: привет.
[23:48:44] <komar> Гм, в caml-list новый эпик тред?
[23:48:45] <bobry> ох ну ничего же себе
[23:48:51] <ermine> овладел в полной мере задницей с coercingом приватных абстрактных типов
[23:48:54] <bobry> Typhon: ты пробовал?
[23:49:42] <Typhon> bobry, нет, я только увидел, биндинг к R может быть интересным, а биндинг к питону только из-за теоретической нужности либ каких-то.
[23:49:51] <Typhon> komar, теперь ты можешь использовать питон из окамла!
[23:50:14] <ermine> Typhon: а ты видел вменяемое ocaml-lua?
[23:50:21] <gds> теперь нужно как-нибудь научиться использовать веб-браузер из окамла!
[23:50:30] <Typhon> в рассылке же тёрли пару месяцев
[23:50:34] <Typhon> длиииинный тред был
[23:51:08] <Typhon> ну вот и на фордже гуглица lua для эмбединга в окамл
[23:51:26] <Typhon> хз, правда, зачем
[23:51:36] <Typhon> ладно в цпп встраивать язык, пушо цпп неудобный
[23:52:32] <ermine> луа наверное рулит для конфигурирования жесткой рамы камла
[23:53:03] <ermine> хотя некоторые стремятся юзать питон для скриптования приложения
[23:53:21] <gds> эй да, всё там нормально конфигурируется.  через окружение передаёшь значения -- и ок.
[23:53:27] <komar> Анафема!
[23:54:17] <ermine> gds: в рантайме?
[23:54:30] <ermine> или только перед запуском?
[23:55:06] <gds> ermine: передаёшь -- перед запуском, конфигурируется -- в рантайме.
[23:55:16] <Typhon> вот так конфигурируешь в рантайме луой своей Стэйбл Эс Рок Окамл код, а там вместо списка int пришёл и трейсбек, кровь, кишки и т.д.
[23:56:09] <ermine> gds: ну, а сценарии менять на ходу?
[23:57:14] <gds> ermine: это не "конфигурировать", это "пони сношает программу в конфигурацию".  Это мило, но обычно не нужно.
[23:58:08] <ermine> gds: если конфигурация пишется способом, который принуждает к пляске процессора - один фиг
[23:58:27] <gds> решительное  ЕТ.
[23:59:07] <ermine> ну тогда йузай жсон
[23:59:10] <gds> пешы на осемблире кроссплатформенно.
[23:59:39] <ermine> а lua в камле действительно не хватает
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!