Home
Objective Caml
ocaml@conference.jabber.ru
Понедельник, 18 января 2010< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся! | release crap | voice по запросу | ocaml мёртв, move on
Конфигурация комнаты

GMT+3
[00:13:08] sceptic вышел(а) из комнаты
[00:18:55] ermine вышел(а) из комнаты
[00:19:01] ermine вошёл(а) в комнату
[00:33:31] Kakadu вышел(а) из комнаты
[00:41:04] ermine вышел(а) из комнаты
[00:43:33] ygrek вышел(а) из комнаты
[03:01:27] Typhon вышел(а) из комнаты
[05:19:09] iNode вышел(а) из комнаты
[07:30:34] ermine вошёл(а) в комнату
[07:49:18] geovit вошёл(а) в комнату
[07:54:36] iNode вошёл(а) в комнату
[08:35:14] sceptic вошёл(а) в комнату
[10:30:23] Mon вошёл(а) в комнату
[10:34:24] f[x] вошёл(а) в комнату
[10:37:33] Mon вышел(а) из комнаты
[10:38:01] Mon вошёл(а) в комнату
[11:07:16] daapp вошёл(а) в комнату
[11:14:26] frankcastello вошёл(а) в комнату
[11:16:39] frankcastello вышел(а) из комнаты: QIP Infium: Спокойное общение
[12:43:14] Typhon вошёл(а) в комнату
[12:47:18] geovit вышел(а) из комнаты
[13:54:27] daapp вышел(а) из комнаты
[14:03:59] Typhon вышел(а) из комнаты
[17:50:22] iNode вышел(а) из комнаты
[18:31:48] f[x] вышел(а) из комнаты
[18:35:54] f[x] вошёл(а) в комнату
[18:49:35] iNode вошёл(а) в комнату
[18:58:00] Typhon вошёл(а) в комнату
[19:12:41] zert вошёл(а) в комнату
[19:12:51] <zert> здрасте
[19:13:22] <zert> а как-нибудь можно распечатать AST, не делая обработчик на каждый узел?
[19:13:41] <zert> как в камле печатаются сложные структуры вообще?
[19:17:24] <f[x]> либо распечатать внутренне представление Std.dump (не очень удобно для простых данных, очень неудобно для сложных)
либо нуден обработчик для каждого узла, но их можно сгенерировать автоматически
[19:18:39] <f[x]> генераторы - deriving (в ocaml синтаксис), sexplib (в s-expr'ы)
[19:18:47] <f[x]> более специализированные - json-static, ioxml
[19:20:03] <zert> во, где про deriving почитать можно?
[19:20:14] <f[x]> code.google.com/p/deriving
[19:20:20] <zert> отдельная либа?
[19:20:27] <zert> а искаробочного ничего нет?
[19:20:29] <f[x]> там в вики всё понятно расписано
[19:20:36] <zert> благодарю, спасибо
[19:20:47] <f[x]> zert: конечно нет, это же мёртвый язык с убогой stdlib'ой
[19:21:35] <zert> нифига, я на нём канпелятор пишу
[19:21:42] michael.holub вошёл(а) в комнату
[19:22:04] <f[x]> ерланга? ;)
[19:22:27] michael.holub вышел(а) из комнаты
[19:23:06] <zert> гг
[19:23:09] <zert> асн.1
[19:23:31] <f[x]> мощно
[19:24:18] <zert> да капец
[19:24:25] <zert> полгода только дерево набираю
[19:24:52] <f[x]> а обернуть сишный - не?
[19:24:59] <f[x]> или важен процесс?
[19:25:01] <zert> не Ъ
[19:25:02] <zert> ага
[19:25:20] <zert> я ж хочу во многие языки канпелировать
[19:25:42] <zert> в похапэ, майэскюэль, тикль, джаваскрипт
[19:26:28] f[x] боится представить пересечение сфер js и asn1
[19:26:34] <zert> вот почему ж нигде всего дерева вместе нет?
[19:26:40] <zert> по всей спеке размазано
[19:26:56] <zert> так бы в приложение абнф вынесли, было бы круто
[19:27:02] <zert> специально, видимо
[19:27:18] <f[x]> а ты напиши парсер спеки и компилятор дерева в код ocamlyacc/camlp4/glr :)
[19:29:12] <zert> :))
[19:29:38] <zert> да спека ещё отформатирована капец как фигово
[19:29:45] <zert> ничего не выцепишь автоматически
[19:34:11] ivan.chernetsky вошёл(а) в комнату
[19:34:36] ivan.chernetsky вышел(а) из комнаты
[19:39:05] <zert> а как-нибудь можно построить дерево по mly-файлу?
[19:39:09] <zert> :))))
[19:39:27] <zert> а то я правилами его забил, а надо ведь ещё тип нужный создать
[19:39:38] <zert> а это рак
[19:40:14] <f[x]> не, ручками
[19:40:28] <zert> щас перлом попробую :))
[19:40:34] <zert> перл решає
[20:21:04] <zert> perl -ne 'if (m/\{ ([A-Z][a-zA-Z]+) \}/) { print "$1\n" } elsif (m/\{ ([A-Z][a-zA-Z]+) (\(.*?\)) \}/) {$l = scalar(split(",", $2)); $d = join(" * ", ("asn", "asn", "asn", "asn", "asn", "asn", "asn", "asn")[1..$l]);print "$1 of ( $d )\n"}' asn_parse.mly
[20:21:10] <zert> занимательная проктология
[20:25:20] <ermine> asn?
[20:25:33] <ermine> asn.1?
[20:25:49] <zert> да
[20:26:11] <ermine> ну и как?
[20:26:13] <zert> а чого?
[20:26:17] <zert> да охренеть
[20:26:22] <zert> полгода дерево набивал
[20:26:44] <ermine> а что ты с asn.1 хочешь делать?
[20:26:51] <ermine> код генерить?
[20:27:01] <zert> канпелировать из описания декодеры
[20:27:12] <zert> да, код генерить
[20:27:21] <zert> что из него ещё-то можно делать?
[20:27:45] <f[x]> ermine как обычно читает только последнюю строчку в чате :)
[20:27:48] <ermine> да код генерить :)
[20:28:13] <ermine> f[x]: ага
[20:29:11] <ermine> f[x]: а как в камлобилде инсталлировать файлы из одного каталога в другой, когда в камлобилде нету аналога for i in dir ... ?
[20:30:53] ermine всё никак не дотянется до книжки про asn.1
[20:33:51] <zert> а она есть?
[20:34:08] <zert> я X.680 читаю
[20:35:15] <ermine> две книги
[20:35:22] <ermine> на педии про asn.1 ссылки есть
[20:35:50] <ermine> одна про асн.1 вообще, вторая про парсинг
[20:36:20] <ermine> zert: а где взял?
[20:36:41] <zert> в иту-тшных доках
[20:36:46] <zert> надо?
[20:37:05] <zert> они вроде не все в свободном доступе
[20:37:23] <ermine> да она первой ссылкой в гугле вылазит
[20:37:34] <ermine> я про x.680
[20:37:36] <zert> ну там ещё кучка
[20:38:50] <zert> 30 метров ещё
[20:39:29] <zert> 681, 682, 683, 690, 691, 692, 693, етц
[20:40:21] <zert> годно, однако, перлом получилось тип построить
[20:40:29] <zert> щас чуток ошибок отловлю и всё
[20:40:59] <ermine> а что ты парсишь?
[20:41:04] <ermine> схемы лдапа?
[20:41:24] <ermine> или snmp
[20:42:03] <zert> я пока делаю asn.1 -> генератор кода декодера
[20:42:15] <zert> в принципе, потом можно что угодно парсить
[20:42:27] <zert> но я делаю для всяких телекомовских аснок
[20:42:48] <zert> tcap, inap, camel
[20:43:40] <ermine> просто без игр на реальном протоколе скучно
[20:44:20] <zert> ну то да
[20:44:39] <zert> благо, у меня реальных протоколов вагон, три маленьких тележки и полторы лопаты
[21:07:09] <zert> а можно как-нибудь так записать?
| BitString of (( asn list ) | Empty)
[21:07:10] <zert> ?
[21:07:29] <zert> типа BitString либо список asn, либо Empty
[21:07:41] <zert> или надо отдельно тип описывать?
[21:22:04] <ermine> имхо ни в каком ML не получится, включая хаскиль
[21:22:19] <zert> ну мало ли..
[21:23:02] <ermine> а пчу бы не просто BitString | BitEmpty?
[21:23:39] <ermine> не надо писать подстрочник под чье-то описание типов
[21:47:33] zert вышел(а) из комнаты: Replaced by new connection
[21:47:49] zert вошёл(а) в комнату
[21:47:55] <zert> уфффффф.......
[21:47:59] <zert> дерево написал
[21:48:04] <zert> капеееееец....
[21:49:30] <zert> ermine: а чего на devel@ зайти не могу?
[21:53:43] <zert> а батарейки реально юзает кто-нить?
[21:53:52] <zert> или для понтов?
[21:57:52] <ermine> zert: там капча
[21:59:19] <zert> у меня емакс
[21:59:25] <zert> капчу чота не кажет
[22:00:50] <ermine> ну тряси катапа или легосцию
[22:02:37] <zert> ща
[22:04:30] <ermine> кого из двоих решил потрясти?
[22:04:51] <zert> катапа
[22:09:19] <zert> Error: Error while linking /usr/lib/ocaml/camlp4/camlp4lib.cma(Camlp4):
Reference to undefined global `Dynlink'
[22:09:27] <zert> deriving не билдится
[22:09:45] <zert> а camlp5 ещё не модно юзать?
[22:12:28] iNode вышел(а) из комнаты
[22:12:31] <ermine> деривинг собирается с camlp4
[22:12:37] <zert> я знаю
[22:12:44] iNode вошёл(а) в комнату
[22:12:46] <zert> но не собирается у меня :)
[22:12:58] <zert> а шведы что-то активно русский язык учат
[22:12:58] <ermine> а какое камло?
[22:13:29] <zert> 3.11.1
[22:13:44] <zert> легосция, бьёрн густавссон
[22:14:02] <zert> последний даже в рассылке erlang-russian вчера завёлся
[22:26:01] <zert> сбилдил
[22:26:07] <zert> ладно, завтра заюзаю
[22:26:19] <zert> всем щасливо и спокойной ночи
[22:26:23] zert вышел(а) из комнаты
[22:55:14] f[x] вышел(а) из комнаты
[22:55:15] ygrek вошёл(а) в комнату
[22:59:52] <ygrek> zert: в issues проекта deriving есть эта бага и фикс
[23:00:36] <ygrek> а camlp5 уже не модно юзать :) он для обратной совместимости (и как источник документации :))
[23:02:01] iNode вышел(а) из комнаты
[23:11:33] f[x] вошёл(а) в комнату
[23:23:24] ermine вышел(а) из комнаты
[23:25:06] ermine вошёл(а) в комнату
[23:49:29] Kakadu вошёл(а) в комнату
[23:55:17] Kakadu вышел(а) из комнаты
[23:57:54] michael.holub вошёл(а) в комнату
[23:58:37] Typhon вышел(а) из комнаты: Replaced by new connection
[23:58:40] Typhon вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!