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

GMT+4
[00:03:12] gds' вышел(а) из комнаты
[00:03:33] gds вышел(а) из комнаты
[00:11:34] <bobry> http://caml.ru/ это чье?
[00:12:27] <komar> Это caml-programmer’а, который .livejournal.com
[00:12:34] <komar> Хороший парень.
[00:42:37] shaggie вышел(а) из комнаты
[01:16:36] Kakadu вышел(а) из комнаты
[01:35:18] <Typhon> http://arxiv.org/abs/1110.1029
[02:29:56] Typhon вышел(а) из комнаты
[02:43:46] <komar> Академота на страже скорасти.
[02:44:11] <komar> Одобряю.
[03:36:47] letrec вошёл(а) в комнату
[04:48:47] letrec вышел(а) из комнаты
[07:07:17] zert вошёл(а) в комнату
[07:16:25] bobry вышел(а) из комнаты
[07:17:55] bobry вошёл(а) в комнату
[08:20:44] komar вышел(а) из комнаты
[08:54:23] bobry вышел(а) из комнаты
[08:55:10] bobry вошёл(а) в комнату
[09:28:20] ygrek вошёл(а) в комнату
[09:34:43] klapaucius вышел(а) из комнаты
[10:19:37] klapaucius вошёл(а) в комнату
[10:50:29] komar вошёл(а) в комнату
[10:54:41] ygrek вышел(а) из комнаты
[11:28:06] <f[x]> ещё e17 есть, и htmlayout под винду
[11:32:48] gds вошёл(а) в комнату
[12:25:28] bobry вошёл(а) в комнату
[12:25:35] <bobry> кто нибудь menhir собирал?
[12:29:21] <gds> bobry: я собирал вот такое/так: http://overbld.hg.sourceforge.net/hgweb/overbld/overbld/file/tip/src/menhir
[12:31:19] <bobry> Fatal error: exception Sys_error("parser.ml: No such file or directory")
[12:31:24] <bobry> у меня вот такая штука почему то
[12:32:32] <gds> врубай бэктрейс, смотри источник исключения.
[12:33:30] <bobry> а как его включить?
[12:33:50] <f[x]> export OCAMLRUNPARAM=b
[12:35:59] <bobry> что то трейса от этого не появилось
[12:37:29] <bobry> Called from file "list.ml", line 69, characters 12-15
[12:38:16] <bobry> ан нет — вот он, только в menhir/src нет list.ml :)
[12:39:42] <bobry> мда — в общем внутри List.iter оно падает
[12:44:01] <f[x]> а кто падает-то?
[12:44:04] <f[x]> лог сборки покажи
[12:50:59] <bobry> в общем происходит странное — оно не собирается только когда запущено через brew, если распаковать тарбол ручками и собирать самому, то все ок
[12:51:46] <bobry> http://paste.in.ua/3164/
[12:54:37] <f[x]> а, ну всё ок значит
[12:56:32] <bobry> не-не, мне интересно почему оно таки падает
[12:57:10] <f[x]> ну тогда diff <(strace make) <(strace brew install) :)
[12:57:18] Typhon вошёл(а) в комнату
[13:00:23] komar узнал про <(), обалдеть.
[13:01:15] <f[x]> ну баш не зря жирный, должны же быть какие-то бонусы :)
[13:01:34] <komar> Как будто жырнота это что-то плохое.
[13:02:21] shaggie вошёл(а) в комнату
[13:04:59] <gds> чота туплю жутко.  Как решить?  Есть такое:
cd_All.ml:
  module Typeinfo = Cd_Typeinfo.Typeinfo;
  module Array = Cd_Array.Array;
cd_Typeinfo.ml:
  module Typeinfo =
    struct
      module type TMOD = sig .. end
cd_Array.ml:
  open Cd_Typeinfo; open Typeinfo;
и вот, cd_Array видит модульный путь Cd_Typeinfo.Typeinfo.TMOD, а модули, использующие тайпинфу через open Cd_All, видят путь Cd_All.Typeinfo.TMOD.  И камло утверждает, что эти пути разные, значит и модули разные.
а из cd_Array.ml не могу обращаться к Cd_All, так как в cd_All.ml есть module Array = Cd_Array.Array.
[13:11:02] <f[x]> а зачем такое двухслойное именование?
[13:13:57] <gds> f[x]: а вот не помню.  явно зачем-то надо было, но могу и переделать.
сейчас расскажу про то, что точно помню, зачем оно: 1. файлы cd_Имямодуля.ml -- для отсутствия конфликтов на этапе линковки cmo/cmx, 2. в cd_All.ml использую module Array = ... для того, чтобы после open Cd_All операции типа Array.func отсылались к моему модулю, содержащему дополнительные функции.
рекомендуешь в cd_Array.ml просто "include Array; дополнения"?
[13:14:01] Kakadu вошёл(а) в комнату
[13:16:13] <f[x]> так проще будет наверное
[13:24:17] <gds> f[x]: да, проще.  Однако от проблемы не избавит.
Кстати, вспомнил, зачем два уровня: чтобы изнутри либы можно было сделать open Cd_Array и использовать Array.funcs.
Однако, будет такая картина:
cd_All.ml:
  module Typeinfo = Cd_Typeinfo;
  module Array = Cd_Array;
cd_Typeinfo.ml:
  module type TMOD = sig .. end
cd_Array.ml:
  open Cd_Typeinfo;
и вот, cd_Array будет видеть модульный путь Cd_Typeinfo.TMOD, а модули, использующие тайпинфу через open Cd_All, буду видеть путь Cd_All.Typeinfo.TMOD.
[13:27:37] <f[x]> хм, те же в профиль
[13:28:09] <f[x]> насчёт первого пункта - можно вместо open Cd_Array делать module Array = Cd_array
[13:28:54] <gds> да, можно.
[13:29:47] <f[x]> факторизовать через функторы бессмысленно как-то
[13:29:54] <gds> угу.
[13:30:45] <f[x]> не использовать алиас для модулей которые используются и внутри либы, т.е. typoeinfo
[13:30:54] <f[x]> лучшее средство от головы - топор
[13:31:05] <gds> недопонял мысль про алиасы (про голову понял)
[13:31:16] <f[x]> убрать typeinfo из cd_all
[13:31:32] <f[x]> пусть зовут напрямую
[13:31:45] <f[x]> а pack не спасёт кстати?
[13:32:31] <gds> убрать typeinfo из cd_all -- значит сделать нужным вдобавок к open Cd_All делать какие-то движения ещё.
[13:33:04] <gds> pack -- я ни разу не пользовал его, и даже не представляю, спасёт ли.  Если ничего не придумается -- буду читать про него.
[13:35:48] bobry вышел(а) из комнаты
[13:39:10] bobry вошёл(а) в комнату
[13:41:11] bobry вышел(а) из комнаты
[13:46:54] <Typhon> https://github.com/wickedchicken/ocaml_skeleton/pull/2#issuecomment-2312684  <- плюсаните пул реквест, пусть в окамль-скелетоне оазис будет. а то чувак ломается чота %)
[13:49:22] <komar> А где минусовать?
[13:50:47] <Kakadu> Typhon: я не уверен что надо плюсовать
[13:50:47] <Typhon> а зачем?
[13:53:17] <f[x]> я бы только README.txt отключил
[13:53:46] <Typhon> f[x]: а его одного можно отключить? StdFiles прикольные вроде :-)
[13:53:55] <f[x]> не, все stdfiles
[13:54:13] <Typhon> (если что, форк ocaml-skeleton в камлунити, ветке feature-oasis-support, можно покоммитить )
[13:54:47] <f[x]> что в них прикольного?
[13:54:57] <f[x]> ну хотя дело вкуса
[13:55:21] <f[x]> единственно полезный (и то для новичков только) файл там это INSTALL
[14:31:37] ygrek вошёл(а) в комнату
[14:49:25] <Kakadu> gds: к вопросу о наших объектах и наследовании. Если я передам камлёвый объект во враппер сишного класса при инициализации, имхо, есть вероятность что он переместится когда-нибудь мусорщиком и всё засегфолтится. Следовательно, надо передавать камлёвый объект при каждом вызове метода.
[14:50:10] <gds> Kakadu: register_global_root в конструкторе, обратное ему действие в деструкторе.
[14:50:44] ygrek вышел(а) из комнаты
[14:51:31] <Kakadu> мдя , gdsa на понт не возьмешь :-)
[14:52:30] <gds> возьмёшь, чо, была бы нужда :)  Я часто туплю (иногда естественным образом, иногда из-за совсем другого текущего контекста).
[14:53:41] bobry вошёл(а) в комнату
[14:54:02] <bobry> товарищи, а есть у кого пример с ocamlyacc шобы не калькулятор
[14:55:01] <Typhon> http://andrej.com/plzoo/
[14:55:50] <gds> bobry: из репки оверблд на выбор, несколько случайных файлов:
./src/cppo/orig/cppo_parser.mly
./src/camltemplate/orig/src/ctParser.mly
./src/ocamlgraph/orig/src/dot_parser.mly
./src/json-wheel/orig/json_parser.mly
./src/sexplib/orig/lib/parser.mly
./src/camomile/orig/toolslib/colParser.mly
./src/camomile/orig/internal/uReStrParser.mly
./src/ocamlnet/orig/src/rpc-generator/parser.mly
./src/camlidl/orig/compiler/parser_midl.mly
[14:58:07] <bobry> мерси — щас поковыряю
[14:58:16] <bobry> meinhir гады — три примера и все три калькуляторы
[14:58:32] <zert> https://github.com/Zert/oasn1c/blob/master/ast/asn_parse.mly
[14:58:37] <zert> вот тебе
[14:59:07] <bobry> zert: злобно :)
[14:59:17] <zert> отож
[15:04:36] <f[x]> http://repo.or.cz/w/sqlgg.git/blob/HEAD:/src/sql_parser.mly
[15:04:45] <Kakadu> вброс про супер-камло-якк http://se.math.spbu.ru/SE/diploma/2007/Chemodanov_dip.pdf
[15:04:54] <f[x]> zert: у тебя там куча барахла, юзал бы menhir
[15:06:00] <zert> я на это года два назад забил уже
[15:07:18] <f[x]> тоже вариант
[15:08:38] <gds> а тем временем хаскеллисты пишут очень важный с практической точки зрения код: http://hackage.haskell.org/package/acme-missiles , не то что здешняя академота сраная.
[15:13:39] <Kakadu> gds: :-)
[15:29:25] <Kakadu> так вы все считаете что с камлоякком всё в порядке?
[15:30:11] <gds> я считаю, что не всё в порядке.  то есть, функции свои выполняет, но есть и альтернативы.
[15:46:30] bobry вышел(а) из комнаты
[16:19:34] <komar> gds: бида.
[16:20:37] <gds> komar: где/чо?
[16:21:23] <komar> С важным кодом бида.
[16:22:48] <gds> а, да.  Хернёй мы тут страдаем.
[16:54:12] <Kakadu> gds: ты не смотрел https://github.com/Kakadu/lablqt/tree/master/inher ?
[16:57:26] <gds> посмотрел чисто обзорно.  Проблема в том, что ты поставил проблему, над которой я ещё не думал, она мне тупо не вмещается в голову с тех пор -- трахаюсь с кадастром, потому что он мне критичнее сильно, а в остальное время пытаюсь как-то отдыхать, когда моск вообще не варит.  А та проблема очень важна -- надо её как-то решить.
[17:04:21] zert вышел(а) из комнаты
[17:38:52] komar вышел(а) из комнаты
[17:43:09] <Kakadu> я тут на паре по филосфии сидел. Преподша говорит, что другая преподша для такой-то  группы создала специальный ящик, цитирую:  "на сервере gmail.com. Логин: блаблабла...."
я слегка напрягся, думаю: неужели сейчас скажет "пароль"? "Пароль: блаблабла"
Вот так организуют мэйллисты на филосфском факультете
[17:45:37] <klapaucius> А философу скрывать свою писанину не нужно.
[17:45:46] <klapaucius> Наоборот, нужно распространить.
[17:45:58] <f[x]> Kakadu: ты должен проявить акт милосердия и "взломать" его
[17:46:44] <f[x]> ты говоришь философ ткббэчп
[17:47:18] <Kakadu> f[x]: ткббэчп ?
[17:47:29] <klapaucius> Нет, философ - это хорошее.
[17:49:28] <Kakadu> Она тексты перед занятиями выкладывает
[17:49:32] <Kakadu> философские
[17:49:49] <Kakadu> может как-то приколоться и выложить что-нить эдакое?
[17:50:59] <Typhon> майнкампф
[17:51:06] <klapaucius> Выложите "против метода" Пола Фейерабенда - это самый толстый тролль из философов.
[18:03:50] <gds> если преподша тупая, то выложить что-нибудь -- одноразовое дело.  Пароль сменить -- интересно, но она сможет зарегистрировать другой ящик, неинтересно.  Эффективнее было бы подписать этот ящик на какую-нибудь рассылку.  Подтвердить подписку на рассылку будет легко, а отказаться от рассылки -- сложно.  Например, 20 минут искал, как отписаться от nginx-ru, и так и не нашёл.  Знаете же, как раздражают мелкие неудобства.
[18:06:33] <Typhon> на линкдене зарегаться с этим мылом и подписаться на всех их уведомления, вот там точно еле отключишь %)
[18:10:01] ermine вошёл(а) в комнату
[18:27:17] Kakadu вышел(а) из комнаты
[19:06:41] letrec вошёл(а) в комнату
[19:12:01] Kakadu вошёл(а) в комнату
[19:17:41] Typhon вышел(а) из комнаты
[19:41:30] ygrek вошёл(а) в комнату
[19:49:21] АК вышел(а) из комнаты
[20:16:14] letrec вышел(а) из комнаты
[20:31:40] komar вошёл(а) в комнату
[20:42:17] ygrek вышел(а) из комнаты
[20:42:24] ygrek вошёл(а) в комнату
[21:13:20] ygrek вышел(а) из комнаты
[21:18:09] <bobry> да линкдин знает толк в спаме
[21:18:15] <bobry> я вот отключил там *все* уведомления
[21:18:22] <bobry> и все равно раз в неделю получаю какой то update
[21:24:42] <komar> Аналогично.
[21:26:30] <gds> а я ещё думал, регистрироваться ли.  теперь же -- в неиллюзорную топку локалхоста этот "линкед'ин -- спам один".
[22:09:19] ermine вышел(а) из комнаты
[22:17:05] ygrek вошёл(а) в комнату
[22:22:25] shaggie вышел(а) из комнаты
[23:01:55] Kakadu вышел(а) из комнаты
[23:46:56] shaggie вошёл(а) в комнату
[23:50:15] gds вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!