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

GMT+3
[00:52:01] Kakadu вышел(а) из комнаты
[00:56:44] ftrvxmtrx вышел(а) из комнаты
[00:57:08] ftrvxmtrx вошёл(а) в комнату
[01:38:28] Typhon вошёл(а) в комнату
[03:10:53] zert вышел(а) из комнаты
[04:13:22] komar вышел(а) из комнаты
[06:23:47] ftrvxmtrx вышел(а) из комнаты
[06:24:16] ftrvxmtrx вошёл(а) в комнату
[09:27:53] superbobry вышел(а) из комнаты: Replaced by new connection
[09:54:35] Typhon вышел(а) из комнаты
[09:59:41] Sergey Plaksin вошёл(а) в комнату
[11:33:18] Typhon вошёл(а) в комнату
[11:34:09] Typhon вышел(а) из комнаты
[11:34:18] Typhon вошёл(а) в комнату
[11:48:50] iNode вышел(а) из комнаты: Replaced by new connection
[12:47:18] Kakadu вошёл(а) в комнату
[12:55:31] Typhon вышел(а) из комнаты
[13:05:26] Kakadu вышел(а) из комнаты: Replaced by new connection
[13:05:26] Kakadu вошёл(а) в комнату
[13:14:39] Typhon вошёл(а) в комнату
[14:33:01] shoroh-net вошёл(а) в комнату
[14:33:43] <shoroh-net> Добрый день, вопрос по camlp4 можно?
[14:35:09] <shoroh-net> столкнулся с такой проблемой, что я определяю метод в генеренном классе, но я там использую связки вида let x = 3 in let y x = x in ();
[14:35:35] <shoroh-net> п4 мне заменяет in на ;
[14:35:55] <shoroh-net> я когда-то обходил это через and
[14:36:07] <shoroh-net> а как сделать это правильно?
[14:36:33] <shoroh-net> например, используя <:class_expr< let marker = ?
[14:48:27] zert вошёл(а) в комнату
[14:57:30] <shoroh-net> method do_action =
      fun pq ->
        (let marker = ((`MicroLocation (26, ((-14), (-17)))), "jewelersasha");
         let (type_id, id) = (35, 59);
         let person = pq#person;
[14:57:41] <shoroh-net> пример генеренного кода
[14:58:09] <shoroh-net> а нужно, чтобы точки с запятой были заменены на in
[14:58:26] <shoroh-net> ведь изначально с ними написано
[15:08:10] <f[x]> это в original синтаксисе такое?
[15:08:38] <f[x]> я помню методы гнерил и вроде не было такого
[15:08:44] <f[x]> пример маленький есть?
[15:10:42] <shoroh-net> let g_actions =
    <:expr< let (type_id, id) = ( $`int:type_id$, $`int:id$ ) in
     let item = Model.ItemInstanceAny.create (type_id, id) in
   pq#set_var tag item#object_id >>
[15:11:02] <shoroh-net> это выражение я подставляю в тело метода
[15:11:23] <shoroh-net> method do_action pq = do { $actions$ };
[15:15:59] <shoroh-net> нашел, блин, генерю разные классы
[15:16:10] <shoroh-net> у них есть сходные методы
[15:16:21] <shoroh-net> надо было убрать do
[15:16:34] <shoroh-net> method do_action pq = $actions$;
[15:16:42] <shoroh-net> вот так все ок будет
[15:19:29] <f[x]> хм
[15:21:46] <shoroh-net> видимо когда подставляешь в do { $a$ }, то все in, которые в нем есть заменяются на ;
[15:28:55] <f[x]> хотя это валидный синтаксис имхо
[15:29:18] Sergey Plaksin вышел(а) из комнаты
[15:29:44] <f[x]> да, а зачем вообще понадобилось это делать? в смысле чем do { let x = ... ; let y = ... } не устроило?
[15:34:08] <gds> дошло до вопроса преобразования значений от постгреса из строк во что-то типа [= `Null | `String of string | `Binary of string ], но на числах мысль останавливается.  Даже на целых числах.  Как их обрабатывать?  smallint -> int, int -> int32, bigint -> int64, decimal/numeric -> Ratio.ratio?
И вообще, как поступать, смотреть по постгресовскому типу столбца и генерить постоянные [ `Smallint of int | `Int of int32 | `Bigint of int64 | `Numeric of Ratio.ratio], или как-то по-другому надо?
[15:35:51] <Typhon> я бы посмотрел в пгокамль
[15:38:02] <Typhon> "смотреть по постгресовскому типу столбца и генерить постоянные…" — не понял, что имеешь ввиду под "генерить постоянные…", а смотреть на тип столбы надо, да. в альтернативах, наверное, только ручная аннотиация?
[15:38:29] <Typhon> *посмотрел бы в пгокамль на предмет отображения постгрёвых в окамловые
[15:43:05] <gds> про decimal/numeric в pg'ocaml нашёл ответ в комментарии "XXX This is wrong - it will be changed to a fixed precision numeric type later.", то есть, в float гонят.
А так -- посмотрел, у нас мысли сошлись, в int16/int32/int64 раскладывают в зависимости от типа столбца.
[15:46:28] <gds> "постоянные" -- в смысле, можно было бы: 1. сделать так, чтобы пользователь указывал, что "хочу int, даже если там 8-байтовый -- знаю, что влезет", 2. можно брать наименьший тип всегда.
Но оба варианта не очень, как я предполагаю (но не уверен, потому и спрашиваю).
Кстати, насчёт ratio, наверное, я не очень предложил, когда есть Num.
[15:49:25] <Typhon> я бы делал постоянные, если очень нужно — с возможностью указать нужный (но по дефолту ничего не указывать). в принципе, ручное указание может пригодиться, но что-то надо придумать, если таки не влезет :)
[15:51:36] <gds> а с другой стороны, кому надо ручное, тот сам нехай to_int какой-нибудь рисует, вариант?
[15:51:39] <Typhon> да
[15:51:44] <Typhon> только хотел напсать :)
[15:52:03] <Typhon> с ручным указанием тебе геморроя добавиться — карты совместимых типов, функции для конвертации
[15:52:25] <gds> именно.  А польза не настолько велика.
[15:52:58] <Typhon> *тся
[15:53:03] <gds> то есть, буду рассматривать те типы, которые мне постгрес даёт, а там -- "кошка родила котят, пусть ..утся как хотят" :)
[16:19:41] ftrvxmtrx вышел(а) из комнаты: offline
[16:19:48] ftrvxmtrx вошёл(а) в комнату
[17:19:52] <Typhon> ancient на 3,12 ставил кто-нибудь? что-то припоминаю, насчёт возможной его поломки, было
[17:21:32] <Typhon> или какие есть способы отучить гц лазить в мои структурки
[17:26:33] <f[x]> в 3.12 api вроде добавляли - "в этот кусок памяти gc не лазит"
[17:27:10] <Typhon> наверх в окамл выведено или сишкой обмазываться надо будет ?
[17:33:17] <f[x]> сишное api
[17:40:40] <f[x]> ещё стоит вспомнить netbox из ocamlnet
[17:41:52] <f[x]> ну и стоит попробовать ancient и доложить куда следует если поломалось
[17:42:26] <f[x]> и если структура простая (несколько больших кусков) то можно руками тэги поставить
[17:47:03] <Kakadu> ктонить юзал Ocamlspot?
[18:09:23] shoroh-net вышел(а) из комнаты
[18:29:33] Sergey Plaksin вошёл(а) в комнату
[18:59:47] Kakadu вышел(а) из комнаты
[19:25:52] Sergey Plaksin вышел(а) из комнаты
[20:02:54] komar вошёл(а) в комнату
[20:10:30] Typhon вышел(а) из комнаты
[20:14:12] Kakadu вошёл(а) в комнату
[20:35:38] iNode вошёл(а) в комнату
[21:55:43] zert вышел(а) из комнаты
[22:10:24] ermine вошёл(а) в комнату
[22:19:23] ermine вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!