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

GMT+3
[00:03:56] Kakadu вышел(а) из комнаты
[00:24:54] Typhon вошёл(а) в комнату
[00:29:26] komar вышел(а) из комнаты
[00:30:13] Typhon вошёл(а) в комнату
[00:31:13] komar вошёл(а) в комнату
[00:45:40] Typhon вышел(а) из комнаты
[00:58:56] komar вышел(а) из комнаты
[01:33:27] ygrek вышел(а) из комнаты
[01:33:27] komar вышел(а) из комнаты
[02:06:18] <bobry> I: Changing directory to '/home/bobry/Code/oasis'
E: Tests had a 100.00% failure rate
[02:06:21] <bobry> вот тебе и oasis
[03:10:24] komar вошёл(а) в комнату
[03:10:24] komar вышел(а) из комнаты
[03:10:40] Typhon вошёл(а) в комнату
[03:11:09] klapaucius вошёл(а) в комнату
[03:12:04] Комната остановлена
[03:12:10] Комната запущена
[03:12:10] bobry вошёл(а) в комнату
[03:16:09] klapaucius вошёл(а) в комнату
[03:19:51] komar вошёл(а) в комнату
[03:20:20] komar вышел(а) из комнаты
[03:34:38] Typhon вошёл(а) в комнату
[03:36:48] Typhon вышел(а) из комнаты
[03:42:17] komar вошёл(а) в комнату
[03:59:43] komar вышел(а) из комнаты: Logged out
[03:59:46] komar вошёл(а) в комнату
[04:23:42] komar вышел(а) из комнаты: Logged out
[04:33:37] komar вошёл(а) в комнату
[05:33:12] Комната запущена
[05:33:12] gds вошёл(а) в комнату
[05:56:52] komar вошёл(а) в комнату
[06:32:28] klapaucius вошёл(а) в комнату
[06:33:26] bobry вошёл(а) в комнату
[09:42:15] bobry вышел(а) из комнаты
[09:44:58] bobry вошёл(а) в комнату
[11:01:30] klapaucius вышел(а) из комнаты
[11:11:27] klapaucius вошёл(а) в комнату
[11:30:49] ermine вошёл(а) в комнату
[11:53:55] f[x] вошёл(а) в комнату
[11:56:14] <f[x]> bobry: что ты с ним сделал? o_O
[12:42:13] ftrvxmtrx вошёл(а) в комнату
[12:50:45] ftrvxmtrx вышел(а) из комнаты
[12:51:41] ftrvxmtrx вошёл(а) в комнату
[13:01:33] Kakadu вошёл(а) в комнату
[13:29:06] ftrvxmtrx вышел(а) из комнаты
[13:30:09] ftrvxmtrx вошёл(а) в комнату
[14:23:23] bobry вышел(а) из комнаты
[14:23:58] bobry вошёл(а) в комнату
[14:24:43] shaggie вошёл(а) в комнату
[14:32:38] ftrvxmtrx вышел(а) из комнаты
[14:35:16] ftrvxmtrx вошёл(а) в комнату
[14:39:22] ftrvxmtrx вышел(а) из комнаты
[14:43:02] ftrvxmtrx вошёл(а) в комнату
[14:48:53] Typhon вошёл(а) в комнату
[15:15:42] ftrvxmtrx вышел(а) из комнаты
[15:15:57] ftrvxmtrx вошёл(а) в комнату
[15:17:37] ftrvxmtrx вышел(а) из комнаты
[15:17:50] ftrvxmtrx вошёл(а) в комнату
[15:33:50] bobry вошёл(а) в комнату
[15:34:01] <bobry> f[x]: что-что?
[15:37:59] ftrvxmtrx вышел(а) из комнаты
[16:14:02] <f[x]> bobry: > E: Tests had a 100.00% failure rate
[16:15:49] <bobry> это я просто сделал клон
[16:15:50] <bobry> и запустил make :)
[16:17:08] f[x] запустил pull
[16:17:13] f[x] ждёт
[16:18:20] <f[x]> ocamlcore в дауне что-ли?
[16:20:09] <bobry> там адреса репозиториев поменялись по моему
[16:22:15] <f[x]> похоже в дауне
[17:05:00] <f[x]> уже ап
[17:08:46] <bobry> собрался.
[17:08:48] <bobry> ?
[17:09:57] <f[x]> да
[17:11:35] <f[x]> один тест фейлит
[17:11:41] <f[x]> но это можно забить думаю
[17:14:34] <ermine> как вырлядит рекурсия модулей, содержащие сами внутри себя рекурсивные модули?
[17:28:36] <f[x]> bobry: сакральное заклинание - make fixperms
[17:30:26] <bobry> ох, okay :) приду домой, попробую
[18:12:37] komar вышел(а) из комнаты
[18:17:31] komar вошёл(а) в комнату
[18:20:17] <f[x]> интересно, это что сложно сделать какой-то #autoload в топлевеле чтобы руками не тянуть зависимости?
[18:21:11] <f[x]> т.е. #load ".cmo" - вылазит exn модуль не найден - модуль ищется во всех подключённых путях и лоадится, если нет такого - то ищется в ocamlfind'е либа которая экспортирует этот модуль
[18:21:16] <f[x]> сложно что-ли?
[18:24:37] <gds> f[x]: ocamlfind / topfind / #require?
[18:25:22] <f[x]> локальный проект
[18:25:26] <f[x]> не либа даже
[18:25:34] <f[x]> решил потестить какую-то часть
[18:25:43] <f[x]> надо на каждый чих топлевел собирать
[18:25:45] <f[x]> неудобно же
[18:26:09] <f[x]> т.е. у меня то скрипт есть который собирает топлевел и запускает его с нужными инклудами
[18:26:12] <gds> не используй топлевел для тестирования (и для работы в целом).  у меня получается.  заодно, если сделать тесты в файлах, то их потом можно в ounit загнать.
[18:26:14] <f[x]> но это ручная работа и тупо
[18:26:32] <f[x]> это не тест а скорее исследование
[18:26:43] <f[x]> "не используй X" - это не наш метод
[18:27:31] <gds> ну, как исследование -- let () = Somemodule.somevalue -- и имеешь тип.  include Somemodule и compile-команда вида ocamlbuild test.inferred.mli && cat _build/test.inferred.mli -- для выдачи сигнатуры.
[18:28:10] <f[x]> у тебя "исследование" <=> "исследование типа"?
[18:28:23] <f[x]> меньше теорий категорий читать надо!
[18:28:33] <f[x]> исследую поведение
[18:28:59] <gds> не обязательно.  далее в test.ml можно вписать let a = func args и запустить это дело с одной стороны, ну или посмотреть типы с другой стороны.
[18:29:07] <f[x]> какой-нибудь interaction с сеткой или ещё что-нибудь что не очень просто тестируется
[18:29:18] <f[x]> короче ты предлагаешь воркараунды
[18:29:25] <f[x]> это хорошо и годно и будет работать
[18:29:36] <f[x]> а я хочу в топлевеле, сделайте чтобы работало!
[18:29:56] f[x] вышел(а) из комнаты
[18:29:57] <gds> ну, если хочешь пилить топлевел -- давай, польза будет очевидно.  может, и для меня тоже, так как кое-какие вещи реально проще в топлевеле делать.
[18:30:07] истеричка вошёл(а) в комнату
[18:30:14] <истеричка> сделайте мне топлевел
[18:30:17] <истеричка> аааа!
[18:30:21] истеричка вышел(а) из комнаты
[18:30:21] <gds> ааааааааа111
[18:30:47] f[x] вошёл(а) в комнату
[18:40:54] Kakadu вышел(а) из комнаты
[19:06:59] <ermine> мне этот xsd надолго запомнится как образчик крутого завихрения рекурсивных модулей с рекурсивными подмодулями до третьего этажа рекурсии
[19:09:33] <gds> ermine: не обязательно делать именно так.  Иногда можно эксплуатировать лентяйку, причём вполне осмысленно: https://bitbucket.org/gds/ocaml-lazy-labelled/src/tip/tests.ml
[19:14:49] <ermine> gds: а у тебя там функция из первого субмодуля вызывает функцию из другого субмодуля другого модуля, в котором другой субмодуль вызывает функцию из еще другого субмодуля первого модуля?
[19:15:20] <ermine> у меня модули введены главным образом из-за одинаковых имен полей, ну, рекурсия уже по вышеописанной причине
[19:15:56] <ermine> зумль - хитрая штука, зато получился полный разбор структуры sd
[19:18:51] <ermine> главное не запутаться в файлике с двумя тыщами строк
[19:20:02] <ermine> потом будет еще одна тыша строк на разбор типов данных xsd, и еще тыща - на разбор самого xsd, еще третья - на кодогенератор
[19:21:18] <gds> ermine: у меня там и такое может быть, главное, чтобы существовал направленный ациклический граф поверх вызовов, которые "закатаны".
[19:22:36] <ermine> gds: не существует
[19:22:51] <gds> ermine: значит и с модулями у тебя будет хрень.
[19:23:28] <ermine> да пока все идет замечательно, даже лучше чем ожидалось
[19:23:40] <ermine> оно даже компилится
[19:25:17] <gds> главное -- чтобы запускалось.  А то иногда могут исключения быть.
[19:26:33] ermine боится запускать
[19:26:59] <gds> то-то же!
[19:29:08] <f[x]> компилится? - релизь!
[19:29:58] ermine запустила
[19:30:04] <ermine> исключений пока нет
[19:40:04] bobry вышел(а) из комнаты
[19:54:16] Kakadu вошёл(а) в комнату
[20:00:53] Typhon вышел(а) из комнаты
[20:09:02] <gds> всё как бы понятно, но, всё же, забавно: http://paste.in.ua/3329/
[20:43:57] <f[x]> чего аж три ошибки?
[20:53:11] mrm вошёл(а) в комнату
[20:56:18] <mrm> Всем привет! У меня беда с OCamlBuild :-(
[20:56:30] <mrm> Есть ocamlfind пакет, которому нужен bigarray
[20:56:37] <mrm> Вот такая беда: http://slexy.org/view/s202DTih3z
[20:56:45] <mrm> use_bigarray не помогает
[20:58:30] <mrm> Вот из-за таких мелких бед, отнимающих время, об ocamlbuild складывается крайне негативное впечатление
[20:59:32] <f[x]> true: use_bigarray
[20:59:38] <mrm> Пробую..
[20:59:53] <mrm> Тот же результат
[21:00:16] <f[x]> не может быть тот же
[21:00:20] <f[x]> покажи error
[21:00:42] <mrm> [K+ ocamlfind ocamldep -package libMagick -modules graying.ml > graying.ml.depends
ocamlfind: Package `bigarray.cma' not found - Required by `libMagick'
[KCommand exited with code 2.
[21:00:50] <f[x]> а
[21:00:55] <f[x]> гыгы
[21:01:05] <f[x]> ключевое слово : Package `bigarray.cma'
[21:01:14] <f[x]> кривой META у libMagick
[21:01:22] <f[x]> cat $(ocamlfind query libMagick)/META
[21:01:25] <mrm> Сейчас пофиксю
[21:01:41] <mrm> requires = "bigarray.cma"
archive(byte) = "magick.cma"
archive(native) = "magick.cmxa"
[21:01:46] <mrm> Мда
[21:03:43] <mrm> Ооо, мой мозг:
[21:03:46] <mrm> [K+ ocamlfind ocamlopt bigarray.cmxa bigarray.cmxa -linkpkg -package libMagick -I +bigarray bigarray.cmxa graying.cmx -o graying.native
File "_none_", line 1, characters 0-1:
Error: Files /usr/lib/ocaml/bigarray.cmxa and /usr/lib/ocaml/bigarray.cmxa
       both define a module named Bigarray
[21:04:10] <mrm> Камло издевается!
[21:04:33] <mrm> Это после того, как в requires поставил "bigarray"
[21:05:00] <mrm> Всё понял
[21:05:31] <mrm> Нет, не понял. Убрал "-libs bigarray" и проблема осталась
[21:06:07] <mrm> Ещё убрал "true: use_bigarray"
[21:06:17] <mrm> f[x]: Теперь всё работает, большое спасибо!
[21:07:23] <f[x]> ага, это сообщение по-русски читается как - "тупой ocamlopt дважды влинковал одну либу и обижается из-за этого"
[21:07:24] <mrm> Странно, что ocamlbuild не распознал и не разрулил ситуацию с двойной линковкой
[21:07:31] <f[x]> мог бы
[21:07:39] <f[x]> и ocamlopt мог бы внятней сообщение давать
[21:07:49] <f[x]> а, ocamlbuild не мог бы
[21:08:01] <f[x]> он же ocamlfind дёргает и не знает что он там притащит по зависимостям
[21:08:03] <mrm> Там даже тройная линковка была :-)
[21:08:07] <f[x]> а вот ocamlopt мог бы
[21:08:39] <mrm> Можно французам багрепорт вкатать
[21:08:48] <mrm> Они их читают?
[21:08:56] <f[x]> да
[21:08:58] <f[x]> нужно
[21:09:07] <f[x]> иногда даже фиксят
[21:09:23] <mrm> Когда в последний раз заглядывал в мантис, там всё разруливал один единственный чувак (Xavier Clerc)
[21:09:33] <f[x]> может внукам фикс достанется уже
[21:09:56] <mrm> Ок, накатаю
[21:12:42] <mrm> Ещё раз спасибо, всего доброго
[21:12:47] mrm вышел(а) из комнаты
[21:32:17] arhibot вошёл(а) в комнату
[21:32:23] arhibot вышел(а) из комнаты
[21:39:38] Kakadu вышел(а) из комнаты
[21:40:25] Kakadu вошёл(а) в комнату
[21:43:35] Kakadu вышел(а) из комнаты
[21:45:31] Kakadu вошёл(а) в комнату
[22:13:05] Kakadu вышел(а) из комнаты
[22:13:24] Kakadu вошёл(а) в комнату
[22:17:55] <Kakadu> bobry: а у тебя существует значение Pa_type_conv.Gen.idp ?
[22:18:14] <Kakadu> и вообще всем
[22:20:02] shaggie вышел(а) из комнаты
[22:23:29] <Kakadu> что-то я деградировал однако
[22:23:58] <bobry> Kakadu: неа, его выпилили в type-conv 3.X
[22:25:02] <Kakadu> т.е. оазису тоже надо type-conv 2.3
[22:25:39] <Kakadu> мне интересно как у меня кора компиляется
[22:25:48] <Kakadu> ей же тоже надо 2.3
[22:27:14] <bobry> Kakadu: not really, odn вполне собирается с небольшим патчиком
[22:29:20] <Kakadu> нашел
[22:44:06] ygrek вошёл(а) в комнату
[22:46:43] komar вышел(а) из комнаты
[22:46:51] komar вошёл(а) в комнату
[23:00:35] <Kakadu> bobry: а ты помнишь для чего баловался с оазисом и парсингом зависимостей?
[23:01:53] <bobry> Kakadu: sure, для локальных репозиториев в odb
[23:02:58] <Kakadu> посмотреть чтоли на этот odb или всё-таки научиться собирать дебы
[23:05:36] <bobry> Kakadu: на данном этапе odb довольно бесполезен, пакетов там мало, обновляются они не часто -- не зря f[x] все грозится запилить свой кошерный пакетный менеджер :)
[23:05:51] <Kakadu> для камла?
[23:06:34] <Kakadu> или вообще?
[23:07:26] <bobry> для камла
[23:27:37] ftrvxmtrx вошёл(а) в комнату
[23:28:42] ftrvxmtrx вышел(а) из комнаты
[23:29:16] ftrvxmtrx вошёл(а) в комнату
[23:36:32] <Kakadu> прикольно. я не знал что так можно писать:
# let f = function
  | _::_, ([_] | [_; _]) -> true
  | _ -> false;;
[23:36:50] <Kakadu> я про или внутри матча
[23:39:15] <ermine> ура, две тыщи строк трехэтажно-рекурсивных модулей пашут на ура и съедают контрольную схему
[23:42:27] <ermine> Kakadu: как кутя?
[23:42:45] <Kakadu> никак
[23:43:52] <ermine> Kakadu: не надо огорчать меня!!!
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!