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

GMT+3
[00:01:05] ak79 вошёл(а) в комнату
[00:01:44] serp256 вошёл(а) в комнату
[00:09:54] Typhon вышел(а) из комнаты: Replaced by new connection
[00:09:57] Typhon вошёл(а) в комнату
[00:27:46] arhibot вышел(а) из комнаты
[00:37:24] Kakadu вышел(а) из комнаты
[00:40:51] ygrek вышел(а) из комнаты
[00:50:35] ermine вышел(а) из комнаты
[02:16:18] komar вышел(а) из комнаты
[02:17:43] serp256 вышел(а) из комнаты
[02:37:31] ftrvxmtrx вошёл(а) в комнату
[03:22:26] zert вышел(а) из комнаты
[07:16:35] ermine вошёл(а) в комнату
[07:20:55] iNode вышел(а) из комнаты
[07:47:44] iNode вошёл(а) в комнату
[08:06:50] Typhon вышел(а) из комнаты
[08:46:25] serp256 вошёл(а) в комнату
[09:02:01] gds вошёл(а) в комнату
[09:12:43] serp256 вышел(а) из комнаты
[10:08:22] serp256 вошёл(а) в комнату
[10:28:31] ygrek вошёл(а) в комнату
[10:49:40] <gds> делаю одну штуковину, которая с постгресом будет общаться, и заодно леплю прослойку с характерным названием "dbi".  Навряд ли осилю все функции сейчас налепить, но скопировать (и исправить где надо) перлячье dbi таки хочу, хоть и частично.  Надо бы нам всем вспомнить, чем текущее ocamldbi не устраивает, а то я уже забыл.  Ну и систематизировать где-нибудь (в вике?).
[11:25:29] <gds> интересно вот.  Есть у меня класс, для создания объектов которого требуется передавать параметр.  И я хочу отдельно выписать его тип.  Не получается почему-то.
# class myclass a = let a = a + 1 in object method a = a; end;;
class myclass : int -> object method a : int end
# class type mytype = int -> object method a : int end;;
Characters 24-26:
  class type mytype = int -> object method a : int end;;
                          ^^
Error: Syntax error
#
ругается на "->".
Пробовал смотреть в книгу (ocaml manual -> language -> classes), но вижу фигу.
[11:30:13] <serp256> ну ты определяешь тип класса
[11:30:23] <serp256> т.е. класс может быть параметризирован
[11:30:41] <serp256> но в данном случае это функция возвращающая класс
[11:30:53] <serp256> т.е. так низя
[11:31:07] <serp256> насколько я помню
[11:31:19] <serp256> уже правда год не юзал объекты
[11:31:19] serp256 вышел(а) из комнаты
[11:32:45] <f[x]> класс - это характеристика объекта
[11:33:01] <f[x]> myclass - это не объект
[11:33:07] <f[x]> myclass 2 - это объект
[11:33:16] Sergey Plaksin вошёл(а) в комнату
[11:34:51] <f[x]> class type mytype = object method a : int end;;
[11:34:58] <f[x]> let (f : int -> mytype) = new myclass;;
[11:39:20] <gds> f[x]:  логика в этом есть, но почему тогда первое определение типизируется не как "int -> class myclass object .. end"?
[11:41:03] <f[x]> ну, val f : int -> ... это функция, class f : int -> ... это класс, т.е. нечто что при полном вычислении вернёт объект, в чём разница между class и val -> в new?
[11:41:21] <f[x]> я хз
[11:42:28] <gds> угу, понял примерно.  В общем, пока не буду ничего ограничивать, а там разберёмся.
[11:46:45] zert вошёл(а) в комнату
[11:49:50] ygrek вышел(а) из комнаты
[12:00:27] Kakadu вошёл(а) в комнату
[12:17:50] ftrvxmtrx вышел(а) из комнаты
[12:27:16] <gds> а с чего это наличие asd.ml не создаёт типа модуля Asd?  Ограничение не работает, module Qwe = (Zxc : Asd), и это при живом asd.ml.  Хотя в _build вполне себе лежат asd.{cmi,cmo,ml,ml.depends}.
[13:13:25] <f[x]> deriving тоже будет в debian'е, красота
[13:28:23] <f[x]> gds: наверное специально, потому что типа сигнатура явно не выписана -> ограничение какое-то слишком неявное получается, легко изменяемое случайно
[13:28:40] <f[x]> наверное в 3.12 module type of должен помочь
[13:31:09] <gds> ага, понял.  Про 3.12 помню, что что-то такое там сделали.  Потестил -- в 3.11 только если явный module type Asd = sig .. end, только тогда ограничивает.
Как и с class type, решил пока не ограничивать типы, а то писанины много, учитывая, что типы меняются периодически.
[13:31:34] Kakadu вышел(а) из комнаты
[13:32:37] Kakadu вошёл(а) в комнату
[13:36:56] komar вошёл(а) в комнату
[13:41:38] <gds> подскажите вот что.  Есть библиотека, линкуемая через findlib: -package liba -linkpkg.  Моя программа не использует bigarray, но при линковке ругается "Reference to undefined global `Bigarray'".  При добавлении bigarray в META / requires -- собирается.  Вывод: кривой META.  Правильно?
(спрашиваю, так как вероятно туплю, но багу отрепортить хочу.)
[13:42:20] <f[x]> да, кривой META
[14:04:58] gds вышел(а) из комнаты
[15:04:21] gds вошёл(а) в комнату
[15:13:17] ygrek вошёл(а) в комнату
[15:13:32] ygrek вышел(а) из комнаты
[15:54:54] komar вышел(а) из комнаты
[15:55:04] komar вошёл(а) в комнату
[16:50:57] komar вышел(а) из комнаты
[17:09:17] iNode вышел(а) из комнаты
[17:40:27] komar вошёл(а) в комнату
[17:45:23] iNode вошёл(а) в комнату
[18:35:52] ak79 вышел(а) из комнаты
[18:54:55] Kakadu вышел(а) из комнаты
[19:13:22] Sergey Plaksin вышел(а) из комнаты
[19:56:55] Typhon вошёл(а) в комнату
[20:17:46] ftrvxmtrx вошёл(а) в комнату
[20:19:31] serp256 вошёл(а) в комнату
[20:34:14] serp256 вышел(а) из комнаты
[21:27:25] serp256 вошёл(а) в комнату
[21:30:50] arhibot вошёл(а) в комнату
[21:41:21] serp256 вышел(а) из комнаты
[21:58:06] komar вышел(а) из комнаты
[22:43:50] ftrvxmtrx вышел(а) из комнаты: offline
[22:56:41] serp256 вошёл(а) в комнату
[23:12:26] komar вошёл(а) в комнату
[23:19:23] serp256 вышел(а) из комнаты
[23:20:53] gds вышел(а) из комнаты
[23:21:42] ygrek вошёл(а) в комнату
[23:44:51] Sergey Plaksin вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!