Home
Objective Caml
ocaml@conference.jabber.ru
Среда, 22 февраля 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:02:19] komar вошёл(а) в комнату
[00:26:28] dzhon вышел(а) из комнаты
[01:10:27] <bobry> хочется выпилить из барбары res конечно
[01:10:35] <bobry> сильно он мешается, ибо один фик везде res_exn
[01:10:41] komar вышел(а) из комнаты: Replaced by new connection
[01:10:42] komar вошёл(а) в комнату
[01:11:58] <gds> выпили, только исключения ловить не забывай, остальное всё покатит.
я использовал res чисто для страховки, так как не знал, какая будет дальше логика, а с res эту логику как-то проще реализовывать, в случае неизвестных заранее требований.
[01:14:46] <bobry> http://erratique.ch -- этот чел мой личный враг
[01:14:52] <bobry> отрубить обе руки
[01:14:55] <bobry> и публично обезглавить
[01:15:21] <bobry> ни configure тебе, ничего -- только самописный build скрипт
[01:15:25] <bobry> достойно!
[01:16:00] <bobry> надо бы нам еще запилить что-то типа context-vars как в оазисе, шобы можно было писать
Flag "--prefix=$dep_dir"
[01:16:02] <gds> зря, он клёвый в остальном.
[01:16:15] <bobry> ну да, в остальном клевый -- и cmdliner хорош
[01:19:38] <gds> кстати, его xmlm простой и понятный, даже как-то базарили по его поводу с ним.  и прикольный способ строить древовидные структуры там, но уже не вспомню детали.
[01:23:09] bobry им тоже как-то пользовался
[01:23:47] <bobry> gds: ты не стесняйся, заглядывай к нам в issues, если время позволяет конечно
[01:23:56] <bobry> надо же вести барбару к мировому господству
[01:24:28] <bobry> кстати проблему с эскейпами не решить парсером для кавыченных аргументов? на каком нить ocamlyacc?
[01:24:42] bobry совсем не силен в парсилках, так что вопрос скорей к Kakadu
[01:32:20] <gds> bobry: про issues -- приглашение принято, ещё несколько дней назад.  Но для барбары надо плотно включать моск, причём думать не просто так, "абы сделать", а анализировать все последствия.  На это мозга не хватает пока.  То есть, у меня либо есть рабочая голова, которую отправляю на уже много времени как про..анный дедлайн (хоть не я один тому виной, но всё же, всё же), либо головы нет, и тогда появляется время.  Но скоро доделаем уже хрень по работе.
С другой стороны, есть вероятность, что мне окажутся противны изменения и/или что там наворотили столько, что в стройную концепцию это не увязать.
Однако, пробовать буду, но потом.
[01:33:08] <gds> эскейпы ты решишь, но надо будет решать также проблему эскейпов эскейпов и так далее.  и это всё должно быть юзабельно / доступно для типичного пользователя.  вот и чеши репку.
[01:47:59] Kakadu вышел(а) из комнаты
[01:57:46] bobry вышел(а) из комнаты
[02:35:12] Typhon вошёл(а) в комнату
[02:37:14] komar вышел(а) из комнаты
[02:39:20] komar вошёл(а) в комнату
[02:43:01] bobry вошёл(а) в комнату
[02:44:29] bobry вышел(а) из комнаты
[03:16:58] komar вышел(а) из комнаты
[03:17:41] komar вошёл(а) в комнату
[03:34:13] letrec вошёл(а) в комнату
[03:46:02] Typhon вышел(а) из комнаты: Replaced by new connection
[03:46:22] Typhon вошёл(а) в комнату
[04:06:02] Typhon вышел(а) из комнаты: Replaced by new connection
[04:06:22] Typhon вошёл(а) в комнату
[04:31:27] Typhon вышел(а) из комнаты
[04:43:00] letrec вышел(а) из комнаты
[07:25:19] gds вышел(а) из комнаты
[07:28:32] gds вошёл(а) в комнату
[08:09:20] Typhon вошёл(а) в комнату
[08:14:31] gds вышел(а) из комнаты
[09:56:46] Typhon вышел(а) из комнаты
[10:03:32] bobry вошёл(а) в комнату
[10:06:38] bobry вышел(а) из комнаты
[11:02:05] superbobry вошёл(а) в комнату
[11:02:48] <superbobry> "есть вероятность, что мне окажутся противны изменения и/или что там наворотили столько, что в стройную концепцию это не увязать." ну так для этого и хочется кооперации со стороны camlunity :)
[11:09:15] Typhon вошёл(а) в комнату
[11:09:42] Typhon вышел(а) из комнаты
[11:11:55] Typhon вошёл(а) в комнату
[11:30:14] Kakadu вошёл(а) в комнату
[11:34:19] ermine вошёл(а) в комнату
[11:42:19] Typhon вышел(а) из комнаты
[11:43:32] Typhon вошёл(а) в комнату
[11:45:30] <Kakadu> superbobry: на чем вчера всё с барброй застряло? gds сказал что мы мракобесы и нам надо остановиться?
[11:45:40] <superbobry> да не, все ок
[11:46:01] <superbobry> для того же cmdliner'a надо запилить context variables
[11:46:08] <superbobry> я там таск повесил с описанием
[11:46:19] <superbobry> чтобы делать например ./configure --prefix=$destdir
[11:47:19] <Kakadu> у нас же вроде пункт про Prefix в конфиге есть
[11:47:27] <superbobry> неа
[11:47:41] <Kakadu> а что тогда такое Prefix в конфиге?
[11:47:48] <superbobry> а где ты его нашел?
[11:48:16] <superbobry> https://github.com/camlunity/barbra/blob/master/src/parser.mly#L5
[11:48:48] <Kakadu> тьфу, не префикс, а флаг
[11:48:55] <Kakadu> флаги для конфигуре
[11:48:58] <superbobry> это да
[11:49:02] <superbobry> но как ты пропишешь туда нужный путь?
[11:49:12] <superbobry> Flag "--prefix=???"
[11:49:25] <Kakadu> ну да
[11:49:44] <superbobry> поэтому и хочется какой то контекст
[12:03:25] <Typhon> """Get rid of `Res`""
[12:03:30] <Typhon> superbobry: ^ почему?
[12:06:37] <Kakadu> superbobry: а ты хочешь чтобы барбра сама подставляла make prefix=fucking_shit all или чтобы человека писал Build "make prefix=$nase_dir all" ?
[12:07:19] <superbobry> both
[12:07:29] <superbobry> в случае оазиса можно автоматом подставлять
[12:07:34] <superbobry> в остальных -- it depends
[12:08:20] <Kakadu> что-то совсем не хочется это делать)
[12:09:43] <superbobry> почему?
[12:09:51] <superbobry> в смысле что тебя смущает?
[12:11:12] <Kakadu> я не могу сформулировать
[12:12:09] <superbobry> увы, из-за make-o-пейсателей надо делать что-то подобное
[12:12:23] shaggie вошёл(а) в комнату
[12:13:07] <Kakadu> т.е. это заставит cmdliner собираться?
[12:13:24] <superbobry> ага, и react например
[12:13:27] <superbobry> и ocamlgraph
[12:13:50] <superbobry> точнее не собираться, а устанавливаться в наш  fakeroot (_dep)
[12:14:08] ftrvxmtrx вошёл(а) в комнату
[12:18:52] <Kakadu> superbobry: > Not implemented: force single-argument for Build and Install keywords.
Т.е. при множественном наличии BuildCmd нада падать с Log.error?
[12:19:13] <superbobry> лучше бы это на уровне парсера прямо ограничить
[12:19:23] <superbobry> так шо падать оно будет с invalid syntax или шота такое
[12:19:43] <superbobry> и кстати там есть еще досадная фигня -- что делать если в рецепте уже есть Build / Install?
[12:19:52] <superbobry> и юзер допустим указал еще один в brb.conf
[12:19:56] <superbobry> какой выбирать?
[12:20:12] <Kakadu> я хз
[12:20:35] <Kakadu> потому я и остановился с вопросом
[12:21:05] <superbobry> вроде бы логично выбирать версию из brb.conf
[12:23:21] Typhon вышел(а) из комнаты
[12:23:31] ftrvxmtrx вышел(а) из комнаты
[13:37:30] Typhon вошёл(а) в комнату
[14:10:07] Typhon вышел(а) из комнаты
[14:10:34] Typhon вошёл(а) в комнату
[14:42:55] klapaucius вышел(а) из комнаты
[14:45:33] <f[x]> PR#5487
[14:46:46] <ftrvxmtrx> nice
[15:29:16] klapaucius вошёл(а) в комнату
[16:31:00] gds вошёл(а) в комнату
[16:57:32] Mon вошёл(а) в комнату
[17:17:36] komar вышел(а) из комнаты
[17:17:52] komar вошёл(а) в комнату
[17:19:48] letrec вошёл(а) в комнату
[17:20:01] letrec вышел(а) из комнаты
[17:20:16] letrec вошёл(а) в комнату
[17:31:21] superbobry вышел(а) из комнаты
[17:37:02] superbobry вошёл(а) в комнату
[18:15:06] ermine вышел(а) из комнаты
[18:25:40] ermine вошёл(а) в комнату
[18:42:41] ermine вышел(а) из комнаты
[18:45:18] ermine вошёл(а) в комнату
[19:05:49] superbobry вышел(а) из комнаты
[20:25:53] ftrvxmtrx вышел(а) из комнаты
[20:30:01] Typhon вышел(а) из комнаты
[20:35:11] Typhon вошёл(а) в комнату
[20:36:59] Typhon вышел(а) из комнаты
[21:12:49] bobry вошёл(а) в комнату
[21:48:12] letrec вышел(а) из комнаты
[22:54:21] shaggie вышел(а) из комнаты
[23:43:41] <bobry> попробовал я выпилить Res -- фигня получается совсем, с ним лучше
[23:43:44] <bobry> беру свои слова назад
[23:45:09] <gds> неправильно пробовал, вероятно.  всё там выпиливается.  достаточно сделать
module Res = struct type t 'a = 'a; value return = identity; value catch f h = try f () with [e -> h e]; end;
и всё будет ок.  А потом и catch'и можно выпилить.
[23:46:15] <bobry> gds: да не, меня смутило что на каждый чих может вылезти exception и все они ловятся только на верхнем уровне
[23:46:17] <bobry> нестройно как то
[23:46:22] <bobry> хотя oasis так работает и ничего
[23:50:46] <gds> когда ты говорил про "уйти от res", я проанализировал этот момент и счёл, что для барбры это нормальный расклад был бы.  вообще, как-то реабилитирую исключения в последнее время, иногда они полезны (пара примеров за последнее время уже есть).
но res как-то попроще для меня, я ж тупой, и мне нравится тупые вещи, особенно когда их много и они в интерфейсах.
[23:51:22] <bobry> gds: после вчерашнего примера с рекурсивным графом "я ж тупой" не принимается :)
[23:53:32] <gds> кстати, тот res, который у меня, какой-то избыточный.  catch_all, res_exn, catch_exn -- хотя бы что-то одно можно выкинуть, думаю, что res_exn.
но там res имеет типовым параметром в том числе тип ошибки, поэтому больше, чем одну функцию, выкинуть нельзя сходу.  либо сделать тип type res_exn = res 'a exn, и для него вывести честный MonadError, а там, если вдруг используют не type res_exn, а просто res, надо будет либо Res.map_err, либо просто унификация типов провалится.
[23:53:49] <gds> а графы -- это задротство, "специальная олимпиада", термин известен, думаю.
[23:55:31] <bobry> термин не известен
[23:56:23] <gds> у меня в парвеле ошибки не всегда исключения, для нужд сериализации иногда преобразовываются в строки (ну и для нужд веб-сервисов, отдавать могу только строку в качестве описания ошибки), поэтому я на днях налепил себе type res_str 'a = res 'a string и вот с ним и живу пока что.
[23:57:13] <gds> специальная олимпиада -- http://lurkmore.to/Special_Olympics
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!