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

GMT+4
[00:39:47] komar вышел(а) из комнаты
[00:40:16] komar вошёл(а) в комнату
[01:11:26] Kakadu вышел(а) из комнаты
[01:45:06] Typhon вошёл(а) в комнату
[01:45:15] Typhon вышел(а) из комнаты
[01:45:57] Typhon вошёл(а) в комнату
[02:30:26] komar вышел(а) из комнаты
[02:30:59] komar вошёл(а) в комнату
[03:50:13] Typhon вышел(а) из комнаты
[04:33:19] letrec вошёл(а) в комнату
[04:33:22] letrec вышел(а) из комнаты
[04:33:38] letrec вошёл(а) в комнату
[04:38:11] ftrvxmtrx вышел(а) из комнаты
[05:23:18] komar вышел(а) из комнаты
[06:03:24] komar вошёл(а) в комнату
[06:42:47] komar вышел(а) из комнаты: Replaced by new connection
[06:42:47] komar вошёл(а) в комнату
[07:03:02] komar вышел(а) из комнаты: Replaced by new connection
[07:03:02] komar вошёл(а) в комнату
[07:30:39] komar вышел(а) из комнаты: Replaced by new connection
[07:30:39] komar вошёл(а) в комнату
[07:51:45] komar вышел(а) из комнаты: Replaced by new connection
[07:51:45] komar вошёл(а) в комнату
[08:25:51] komar вышел(а) из комнаты: Replaced by new connection
[08:25:51] komar вошёл(а) в комнату
[08:47:13] superbobry вошёл(а) в комнату
[08:49:48] komar вышел(а) из комнаты
[08:50:45] komar вошёл(а) в комнату
[09:22:54] komar вышел(а) из комнаты: Replaced by new connection
[09:22:54] komar вошёл(а) в комнату
[10:34:25] komar вышел(а) из комнаты: Replaced by new connection
[10:34:29] komar вошёл(а) в комнату
[10:39:01] ftrvxmtrx вошёл(а) в комнату
[11:04:17] komar вышел(а) из комнаты
[11:04:45] komar вошёл(а) в комнату
[11:25:13] komar вышел(а) из комнаты
[11:31:53] komar вошёл(а) в комнату
[11:33:07] ermine вошёл(а) в комнату
[11:47:10] <ermine> gds: чо за пургу ты там про меня написал вчера?
[11:51:55] klapaucius вошёл(а) в комнату
[11:56:55] ftrvxmtrx вышел(а) из комнаты
[12:08:10] Kakadu вошёл(а) в комнату
[12:28:20] Mon вошёл(а) в комнату
[12:28:36] ftrvxmtrx вошёл(а) в комнату
[12:31:35] <Kakadu> ermine: что там с твоекй парсетотой то?
[12:35:49] <ermine> Kakadu: решила внести таки в ядро параметризованные парсеры и теперь гадаю как типизировать параметры в ast
[12:36:25] <Kakadu> параметризованные чем?
[12:40:01] Mon вышел(а) из комнаты
[13:35:48] <ermine> Kakadu: ну чем угодно, обычные аргументы функций
[13:55:33] Mon вошёл(а) в комнату
[13:55:48] <Kakadu> ermine: поробуй вначале сделать правила параметризованные правилами
[13:58:10] Mon вышел(а) из комнаты
[13:58:23] Mon вошёл(а) в комнату
[13:59:20] Mon вышел(а) из комнаты
[14:00:49] Mon вошёл(а) в комнату
[14:01:17] <ermine> Kakadu: это ведет к написанию компилятора
[14:01:53] <Kakadu> просто у нас правила параметризованные правилами написали, а писать правила параметризованные значениями боятся
[14:01:59] <Kakadu> а почему компилятора?
[14:02:09] <Kakadu> сделай как в С++ с их шаблонами
[14:07:44] <ermine> Kakadu: простой вариант - параметризуем именами переменных или значением, их можно представить как Var of string или Value of string * string, где первое string - тип - int, string, то, что camlp4 знает как сконвертить из строки (второй string), далее в эту кухню надо добавить параметризацию функциями, например, Token(n, Token2(m, 2)), что также не предоставляет трудностей, а вот утром подумала - а что делать, если значение - тьюпл? Это означает, что любой параметр - выражение обычное, как в камле
[14:10:24] <Mon> /part
[14:10:33] <Mon> :(
[14:11:30] <ermine> /part, как и в irc, не является частью протокола irc
[14:12:15] <ermine> нажми лучше alt-f4, это кроссплатформная вешь
[14:12:25] Mon feels enlightened
[14:12:50] <Mon> боюсь не выйдет - это емакс
[14:13:19] <Mon> То ли буффер убить?
[14:14:44] <superbobry> там что-то с leave было
[14:18:34] shaggie вошёл(а) в комнату
[14:25:32] superbobry вышел(а) из комнаты
[14:31:06] superbobry вошёл(а) в комнату
[14:56:19] <ermine> интересно, можно ли интегрировать парсер в язык и как это должно выглядеть
[14:58:19] <ermine> обычное описание грамматики/парсера - это какая-то промежуточная туфта типа yacc-описалова, сериализация или как еще, поэтому возникает куча диких ограничений
[15:02:33] Typhon вошёл(а) в комнату
[15:25:19] komar вышел(а) из комнаты
[15:25:25] komar вошёл(а) в комнату
[15:57:44] letrec вышел(а) из комнаты
[16:04:12] komar вышел(а) из комнаты
[16:04:47] komar вошёл(а) в комнату
[16:27:34] Kakadu вышел(а) из комнаты: Replaced by new connection
[16:27:35] Kakadu вошёл(а) в комнату
[17:31:19] superbobry вышел(а) из комнаты
[17:45:13] letrec вошёл(а) в комнату
[17:45:21] letrec вышел(а) из комнаты
[17:45:36] letrec вошёл(а) в комнату
[17:50:26] Kakadu вышел(а) из комнаты
[17:51:06] Kakadu вошёл(а) в комнату
[17:53:01] Kakadu вышел(а) из комнаты
[17:56:41] Kakadu вошёл(а) в комнату
[17:59:32] Kakadu вышел(а) из комнаты
[18:27:32] <letrec> ermine: то, как регулярки через синтаксичкское расширение добавили, считается за интегрировали?
[18:42:36] <ermine> letrec: пример?
[18:43:49] <letrec> http://martin.jambon.free.fr/micmatch.html
[18:44:13] <letrec> ygrek на них навёл
[18:44:47] <gds> п-ц.  бесит, что при обращении к полиморфному методу объекта, даже единственный раз (когда, блин, возьми да унифицируй параметр с реальным типом!1111), компилятор лезет в 300 лупу и без приписывания типа оттуда не вылезает.
[18:49:17] <ermine> да, это интеграция
[18:50:48] komar вышел(а) из комнаты: Replaced by new connection
[18:50:48] komar вошёл(а) в комнату
[18:51:02] <letrec> ermine: ещё немерлисты хвалились, что у них BNF на уровень синтаксиса вытаскивается с помощью макроса
[18:51:39] <letrec> micmatch похоже на то, что хочется?
[18:53:06] <ermine> да макросами хоть в х-ле можно
[18:53:49] <ermine> а micmatch - только в match выражениях
[18:54:16] <letrec> ты так говоришь, как будто х-ль это что-то совсем обыденное типа пхп
[18:55:23] Kakadu вошёл(а) в комнату
[18:55:54] <ermine> вот возьмем такое определение
spaces(n) ::= ' ' * n
indent ::= spaces(2)
[19:06:53] <ermine> усложним
repeat(n,t) ::= t * n
space ::= ' '
indent ::= repeat(2,space)
[19:09:09] <ermine> перегонять туда-сюда из грамматики в грамматику не сложно, вопрос в том, как пристыковывать к этому делу семантику, скажем, indent, если сукселится, то возвращает в качестве результата не пробелы, а алгебраическое выражение навроде IndentSpace
[19:11:16] <ermine> видимо гоняюсь за универсальной грамматикой, базирующейся на PEG, с тем, чтобы брать исходнюю грамматику из спеки, перегонять в свою и там уже программер дописывает руками свою лабуду
[19:11:32] <ermine> gds: это правильный путь?
[19:12:45] <ermine> Kakadu: а ты шо скажешь?
[19:13:30] <gds> ermine: не знаю.  лично я бы не ставил цели "перегонять из спеки", соответственно, у меня нет мнения по конкретному вопросу.
[19:14:23] komar вышел(а) из комнаты
[19:14:30] komar вошёл(а) в комнату
[19:15:39] <ermine> gds: а что надо делать с определениями из спеки?
[19:16:31] <Kakadu> ermine: ничего не скажу. У нас не параметризуются правила циферками, только другими правилами.
[19:16:46] Typhon вышел(а) из комнаты
[19:16:51] <gds> ermine: в простых случаях достаточно руками перегнать.  если затачиваешь на сложные случаи либо на кучу спек, то может правильно делаешь.  не знаю.
[19:17:28] savikov вошёл(а) в комнату
[19:18:08] <ermine> отчасти успокоил, пасиба
[19:20:14] ermine потопала дальше по своему пути, дописывать генерацию описаний функций в компилируемый камлом код
[19:33:37] savikov вышел(а) из комнаты
[20:43:55] ftrvxmtrx вышел(а) из комнаты
[20:45:25] rammat вошёл(а) в комнату
[20:45:31] <rammat> гг
[20:46:36] gds' вошёл(а) в комнату
[20:47:32] <rammat> чапаев
[20:47:36] <rammat> :-D
[20:48:06] rammat запретили входить в комнату
[20:48:56] gds' вышел(а) из комнаты
[20:49:08] <gds> жаль, конечно, что не сложилось диалога :[
[21:15:58] <gds> а вот как я из парвела (с "протоколами", гарантирующими соответствие типов "запрос-ответ") работаю с бд: http://paste.in.ua/3884/ (конечно, уже отрефакторил match stmt_res в expect_result_data, но пофиг)
[21:16:21] ftrvxmtrx вошёл(а) в комнату
[22:20:33] letrec вышел(а) из комнаты
[22:29:20] klapaucius вышел(а) из комнаты
[22:30:46] shaggie вышел(а) из комнаты
[22:32:14] bobry вошёл(а) в комнату
[22:34:28] <bobry> Kakadu: мда, все кто тебе рекомендовали кубенского -- обманщики
[22:34:55] <bobry> на х-ле он не пишет, про камл вообще похоже не знает, э-г попрбовал и бросил
[22:35:04] <bobry> а с фп связан только в качестве лектора в ИТМО
[22:39:21] <bobry> ну и да -- еще очень клевая идея рассказывать про х-ль (да и вообще про любой функциональный язык) на примере С-Java
[23:35:41] <bobry> https://gist.github.com/1ee38b1555289b69f18a
[23:35:46] <bobry> gj ounit
[23:36:02] ermine вышел(а) из комнаты
[23:57:59] <Kakadu> bobry: угу
[23:59:29] <bobry> кстати барбара собрала оазис
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!