Home
Objective Caml
ocaml@conference.jabber.ru
Суббота, 4 июня 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:50:37] ermine вышел(а) из комнаты
[01:13:32] Kakadu вышел(а) из комнаты
[02:24:14] Typhon вошёл(а) в комнату
[03:09:40] <Typhon> komar, ну там всегда есть вариант custom сборку сделать и тупо шел комманды дёргать. а что за три компилятора?
[03:10:15] <komar> Не буду рассказывать, вы опять разоретесь.
[03:10:40] <komar> Ну так вариант не совсем через одно место там есть?
[03:11:18] <komar> А то я доку почитал, ничего не прикинул, сейчас доделаю кое-чего и попробую запилить оазис. Но. может, кто-то уже знает.
[03:18:05] <zert> юзай кабал
[03:20:07] <komar> Ну вообще да, если ответ «нет», то можно хоть кабал заюзать.
[03:21:48] Typhon вышел(а) из комнаты
[05:57:42] komar вышел(а) из комнаты: Replaced by new connection
[05:57:42] komar вошёл(а) в комнату
[06:00:51] Аmitsаr вошёл(а) в комнату
[06:01:33] <Аmitsаr> русня склады со снарядами взрывает гыгы
[06:03:27] Аmitsаr вышел(а) из комнаты: QIP Infium: Спокойное общение
[06:27:07] <komar> Гм, и правда.
[10:23:05] ermine вошёл(а) в комнату
[11:12:00] ygrek вошёл(а) в комнату
[11:23:52] <ygrek> http://codedot.livejournal.com/114638.html
[11:25:20] <gds> вот оно чо...
[12:05:51] Kakadu вошёл(а) в комнату
[12:42:39] <gds> посмотрел аппликативные функторы в деле: http://paste.in.ua/2536/ , но многое не нравится.  run, pure.  нафига оно, неудобно же.
это я для "базок данных" смотрю, как с результатами запроса работать.
[13:01:45] zert вышел(а) из комнаты
[14:43:21] Typhon вошёл(а) в комнату
[16:00:03] zert вошёл(а) в комнату
[16:24:06] Typhon вышел(а) из комнаты
[16:30:45] <ygrek> > Yet another way — no -noautolink but -static and -dynamic instead of -Wl,-Bstatic and -Wl,-Bdynamic. But in this way it links more code than in previous. For example I got 959K binary instead of 284K. I don't know yet why.
[16:31:00] <ygrek> потому что libc libpthread итп влинковывается
[16:31:11] <ygrek> komar: ^^
[16:31:45] <komar> А-а-а! Меня читают!
[16:32:07] <ygrek> а что это у тебя за разметка?
[16:32:12] <komar> textile
[16:32:14] <ygrek> выглядит поудобней markdown
[16:32:17] <ermine> а кто скажет в двух словах, что такое type-conv?
[16:32:19] <komar> Надави source вверху.
[16:32:31] <ygrek> надавил, но там же не написано :)
[16:33:05] <komar> ygrek: ну, оно куда мощнее, менее читаемо в плейнтексте и гораздо более сношаемо с мозгом в плане парсинга.
[16:33:14] <ygrek> ermine: type-driven meta programming
[16:33:26] <ygrek> markdown'а просто иногда не хватает
[16:33:40] <ygrek> формальная спека есть?
[16:33:47] <ygrek> вообще сам погуглю :)
[16:33:55] <komar> Нет.
[16:34:02] <komar> Есть неформальная.
[16:34:11] <ygrek> читаемость в плейнтексте особо не нужна
[16:34:23] <ermine> она же формальная, ибо авторская
[16:34:32] <ygrek> т.е. для меня это не критерий (зотя изначально повёлся на это)
[16:34:36] <ygrek> * хотя
[16:34:48] <ygrek> предсказуемость важнее
[16:35:01] <komar> http://redcloth.org/hobix.com/textile/
[16:35:09] <ermine> ygrek: на рагеле хочешь парсить?
[16:35:44] <komar> Вообще кое-что я написал здесь, но все описывать пока лениво: http://komar.bitcheese.net/ru/tech/неопределенности-в-textile
[16:36:14] <ygrek> хм, многова-то всяких спец-случаев
[16:36:15] <komar> ermine: текстайл — это такая вещь, к которой с какой стороны не подойди — все равно получается парсер, работающий через одно место.
[16:36:21] <ygrek> тьфу, ва-то
[16:36:42] <komar> Для парсинга — огромное количество. Для использования — нормально.
[16:37:02] <ygrek> > The letter ‘x’ becomes a dimension sign when used alone.
[16:37:04] <ygrek> ужс
[16:37:11] <ermine> komar: я ща хочу сочинить какой-нить парсер маркдауна
[16:37:19] <ygrek> короче, стоит иметь ввиду
[16:37:28] <ermine> надеюсь не через одно место, а через монады с комбинаторами
[16:37:48] komar вышел(а) из комнаты: Replaced by new connection
[16:37:49] komar вошёл(а) в комнату
[16:37:55] <komar> ermine: давай.
[16:38:13] <ermine> komar: пасиб
[16:38:37] <komar> ygrek: про замену символов на более красивые я уже написал — нафиг не нужно.
[16:38:49] <komar> Это настоящая тупость.
[16:39:12] <komar> ermine: через монады с комбинаторами я пробовал textile распарсить.
[16:40:09] <komar> http://komar.bitcheese.net/darcs/textile-ocaml/textile.ml — полюбуйтесь на функцию collect_phrases_with, комбинаторы во все поля.
[16:40:53] <ermine> komar: ну у монад самый милый оператор - "или", за что я их люблю особой любовью
[16:41:02] <komar> Не помогает.
[16:41:21] <ermine> можно без страха влазить в глухие вопросы выбора, отовсюду парсер вылезет и не заблудится
[16:41:40] <ermine> а мне помогает
[16:42:02] <komar> Вот в текстайле можно задавать для инлайнов атрибуты, типа *(important)README*, что сделает что-то типа <strong class="important">READE</strong>
[16:42:24] <ermine> кроме того, маркдаун - строчный язык, берешь одну строчку, рассматриваешь начало и запоминаешь
[16:42:57] <komar> Теперь берем строку *(hello)*. Как задать оператором «или», что после парсинга атрибутов надо обломаться и начать сначала без них?
[16:43:38] <ermine> komar: атрибуты семантические или типографические?
[16:43:46] <ygrek> гы, в любом нормальном лексере (read - ragel) - без проблем
[16:44:25] <komar> У меня это вылезло в комбинатор:
let try_attrs f =
  (p_seq attr >>= f) |||
  (f []) in
Которому надо передавать все остальные.
[16:45:26] <komar> Впрочем, я сейчас говорю о своих кривых руках, у которых получилось только так. Если получится лучше — я буду только рад.
[16:46:02] <komar> ermine: из атрибутов class, id, style и language.
[16:46:22] ermine код слегка не поняла
[16:46:53] <ermine> komar: тогда это типография, а не семантика
[16:47:06] <ermine> давить
[16:47:18] <komar> Угу.
[16:47:22] <ermine> дивы и спаны - лесом чахлым
[16:47:50] <komar> Я с тобой согласен, но решил реализовать что-то уже используемое народом, а не изобретать свое.
[16:47:54] <komar> Свое я, впрочем, тоже изобрел.
[16:48:11] <komar> http://komar.bitcheese.net/en/code/polebrush
[16:48:17] <ermine> а вот потом при конвертации в хтмл довешивать классами и id для выделения оформления постов от всего остального контента - можно
[16:49:19] <ygrek> о, ещё одна недоразметка в чятике
[16:49:35] <komar> Угу.
[16:49:40] <komar> Настолько недо, что я ее даже не выложил.
[16:50:52] <komar> ermine: если не сложно — сделай в своем парсере возможность выдрать заголовок страницы, и желательно не парся при этом весь документ.
[16:51:03] <komar> Обычных стримов и AST для этого достаточно.
[16:51:08] ermine допилит bbcode и решит markdown и на этом эту тему скорее всего закроет
[16:51:17] <ygrek> it-faq годное
[16:51:46] <komar> ygrek: ты первый, кому понравилось.
[16:52:07] <komar> Был еще вокер, но он попросил переименовать в overall-life-faq.
[16:53:51] <ermine> похоже тут только война парсеров
[16:54:08] <ermine> еще один маркуп был у gds, насколько мне помнится
[16:54:36] <gds> ага, у меня был.  s-выражения назывался.
[16:55:17] <ermine> а чем парсил?
[16:56:23] <komar> О! Хороший маркуп, только он не маркуп.
[16:56:30] <komar> А все-таки формат представления данных.
[16:57:41] <ermine> дык самый главный маркуп давно придумали, называется SGML, а всё остальное - детсад
[16:58:06] <gds> ermine: парсил -- тупо стримами.  ещё, помню, utf8 на них оформлял, весьма ональненько вышло.
[16:58:08] <komar> Угу.
[16:58:17] <ermine> а для представления данных есть ASN.1
[16:58:25] <komar> Вот только писать на нем не столь приятно, как на textile/markdown'е.
[16:58:46] <gds> komar: ну как сказать -- я не разбираюсь в тонкостях, но у меня в s-выражениях участвовали и пробельные символы -- в общем, всё, кроме скобок.
[17:01:16] <ermine> все проблемы - от недостатка серого вещества
[17:02:00] <gds> или от недостатка времени.
[17:02:30] <komar> gds: тогда это уже похожий на sexpr формат.
[17:02:37] <ermine> не, время не должно покрывать недостаток вещества
[17:03:40] <gds> это похоже на s-выражения, но элементы разделяются не пробельными символами и скобками, а границами между пробельными и непробельными символами и скобками.
[17:04:16] <gds> время позволяет нарастить моск слегка.  поиграться и понять на своём опыте многое.
[17:05:33] <komar> Вот только моск должен наоборот — время экономить, поэтому после того, как поигрался, ничего не получилось и понял. чувствуешь, что потерял время даром.
[17:06:52] <gds> любое увеличение опыта связано с затратами времени, а что там получается на выходе, фейл или вин, это уже второй вопрос.
[17:07:05] <komar> ygrek: слушай, а ты уверен. что там именно libc влинковывается? Мне сейчас проверять лень, но libc я вроде как-то по-другому влинковывал.
[17:07:46] <komar> «Поиграться», как правило. занимает много времени.
[17:07:56] <komar> Гораздо больше, чем почитать статью «как надо делать».
[17:10:42] <ermine> это надо уметь делать абстрактно
[17:10:58] <ermine> только не будет уходить время на поиграться и прочую бесполезную практику
[17:21:26] Digimmortal вошёл(а) в комнату
[17:45:05] <ygrek> komar: проверить легко - ldd
[17:45:49] <ygrek> да и ворнинг там палится :
(.text+0x232): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
[17:46:31] <komar> А, ага.
[17:57:00] zert вышел(а) из комнаты
[18:00:59] ftrvxmtrx вышел(а) из комнаты
[18:02:49] ftrvxmtrx вошёл(а) в комнату
[18:03:02] ftrvxmtrx вышел(а) из комнаты
[18:03:14] ftrvxmtrx вошёл(а) в комнату
[19:59:45] komar вышел(а) из комнаты: Replaced by new connection
[19:59:45] komar вошёл(а) в комнату
[20:54:39] ygrek вышел(а) из комнаты
[20:55:10] ygrek вошёл(а) в комнату
[21:20:56] Digimmortal вышел(а) из комнаты
[21:23:33] ygrek вышел(а) из комнаты
[21:23:51] ygrek вошёл(а) в комнату
[23:34:50] Typhon вошёл(а) в комнату
[23:36:28] <ermine> как сварганить модуль, который хочет еще два модуля с одинаковым type 'a t в них?
[23:39:03] ermine почесала gds
[23:42:03] <komar> Мадам знает толк.
[23:46:57] <ermine> не, не надо 'a t, достаточно type t
[23:47:27] <ermine> это я решила абстрагировать свои комбинаторные парсеры и выделить "строку" в отдельный модуль
[23:48:43] <ermine> чтобы не мучаться с кодировкой-енкодингом
[23:56:56] komar вышел(а) из комнаты: Replaced by new connection
[23:56:56] komar вошёл(а) в комнату
[23:59:54] <ygrek> module X(Y)(Z) where Y.t = Z.t ?
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!