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

GMT+4
[00:06:42] mrm вышел(а) из комнаты
[00:16:01] Typhon вышел(а) из комнаты
[00:47:56] Sun][ вышел(а) из комнаты
[00:55:46] ftrvxmtrx вошёл(а) в комнату
[01:05:13] Typhon вошёл(а) в комнату
[01:10:35] Sun][ вошёл(а) в комнату
[01:29:05] Sun][ вышел(а) из комнаты
[02:01:59] Kakadu вышел(а) из комнаты
[02:14:10] komar вышел(а) из комнаты: Replaced by new connection
[02:14:10] komar вошёл(а) в комнату
[03:01:27] dzhon вышел(а) из комнаты
[03:40:17] ketrec вошёл(а) в комнату
[04:32:39] gds вышел(а) из комнаты
[04:44:59] ketrec вышел(а) из комнаты
[07:44:48] mrm вошёл(а) в комнату
[07:57:27] ermine вошёл(а) в комнату
[08:51:22] mrm вышел(а) из комнаты
[09:09:59] dzhon вошёл(а) в комнату
[10:31:35] komar вышел(а) из комнаты
[10:31:43] komar вошёл(а) в комнату
[10:36:40] Sun][ вошёл(а) в комнату
[10:37:10] komar вышел(а) из комнаты
[10:37:17] komar вошёл(а) в комнату
[10:49:13] ftrvxmtrx вышел(а) из комнаты
[11:26:21] dzhon вышел(а) из комнаты: Replaced by new connection
[11:26:21] dzhon вошёл(а) в комнату
[11:28:52] ftrvxmtrx вошёл(а) в комнату
[11:31:12] mrm вошёл(а) в комнату
[11:33:51] <mrm> Привет! Тут кто-нибудь использует официальный дистрибутив камла на базе cygwin? У меня проблемы со сборкой pcre-ocaml (oasis неправильно вызывает ocamlbuild)
[11:34:11] <f[x]> т.е. камло поставленное внутре cygwin'а?
[11:34:21] <mrm> Вообще, тут какой-то адский ад с эскейпингом слешей в путях
[11:34:28] <f[x]> mrm: всё так :)
[11:34:38] <mrm> Нет, камло, которое ставит инсталлятор (на базе mingw64-w32)
[11:34:55] <f[x]> мораль №1: ставить камло в путь без пробелов, и все либы и тулзы тоже
[11:35:07] <f[x]> mrm: тогда это ocaml/mingw
[11:35:09] <f[x]> не путай
[11:35:29] f[x] уже давно его не использовал так что могу помочь только теоретически с помощью хрустального шара
[11:35:55] <mrm> Пробелов нет
[11:37:03] <mrm> Системе не удается найти указанный путь.
Exception End_of_file.
E: Failure("Command 'C:\\OCaml\\bin\\ocamlbuild.EXE
[11:37:34] <f[x]> подозрительно как-то оборвано
[11:37:35] <mrm> вместо этого пути вида C:\... нужен путь /cygdrive/c/...
[11:37:54] <mrm> Это я обровал. Дальше параметры окамлбилда
[11:38:11] <f[x]> (не обрывай никогда логи)
[11:38:14] <mrm> Но судя по всему именно окамлбилд не находится
[11:38:17] <mrm> Ща...
[11:41:13] <mrm> http://slexy.org/view/s20wRUpYhh
[11:42:15] <mrm> Ой. Тут другая ошибка вылезла, которую я уже научился фиксить :-)
[11:43:24] <mrm> http://slexy.org/view/s23lPzhpiT
[11:45:30] <mrm> Очевидно, что проблема опять в пути с "C:\\OCaml" вместо "/cygdrive/c/ocaml/"
[11:45:49] <mrm> Хотя я думал, что cygwin магическим образом разруливает подобные штуки
[11:50:27] dzhon вышел(а) из комнаты
[11:50:56] dzhon вошёл(а) в комнату
[11:51:18] <f[x]> я пас
[11:51:24] <mrm> :-)
[11:51:25] <f[x]> не зорчу даже вспоминать этот ужас
[11:51:36] <f[x]> но не помню чтобы когда-то /cygdrive пути использовал
[11:51:58] <f[x]> ждём gds
[11:51:58] <mrm> odb с официальным инсталлятором тоже не работает :-(
[11:52:08] <f[x]> у меня работал в виртуалке
[11:52:17] <f[x]> я даже баги какие-то репортил
[11:52:23] Kakadu вошёл(а) в комнату
[11:53:43] <mrm> Блин. Мне всего лишь регекспы нужны :-( Со сборкой mikmatch (str вариант) тоже какой-то ад (пришлось прямо в makefile хардкодить некоторые пути, чтобы слеши нормальные были)
[11:54:00] Kakadu вошёл(а) в комнату
[11:54:06] <mrm> Короче, камл пока явно не годится для энтерпрайза :-)
[11:54:48] <Kakadu> это венда не годится для ынтырпрайза
[11:54:56] <Kakadu> что ты там не можешь воткнуть?
[11:55:22] <f[x]> Kakadu: чушь же
[11:55:59] <Kakadu> mrm: у меня тут венда под рукой, могу попробовать
[11:56:02] <mrm> Kakadu: мне просто нужны биндинги к pcre. Затык при сборке в OASIS при сборке pcre-ocaml
[11:56:26] <Kakadu> > Затык при сборке в OASIS при сборке pcre-ocaml
я ничего не понял
[11:56:36] <mrm> сам pcre собрался без проблем при помощи mingw64-w32
[11:57:12] <mrm> pcre-ocaml запакеджен при помощи OASIS и setup.ml мутит что-то нехорошее с путями
[11:57:27] <mrm> Я выше лог кинул
[11:58:03] <mrm> Куча других камловых библиотек собралось и работает (но там OASIS нигде не используется)
[11:58:28] <Kakadu> я правильно понимаю что это выхлоп в баше?
[11:58:37] <mrm> Да.
[11:58:52] <Kakadu> а which ocamlc.opt что говорит?
[11:59:09] <mrm> $ which ocamlc.opt
/cygdrive/c/OCaml/bin/ocamlc.opt
[11:59:34] <mrm> $ which ocamlbuild
/cygdrive/c/OCaml/bin/ocamlbuild
[12:00:02] <mrm> Я не понимаю, откуда setup.ml берёт путь с "C:\\OCaml\"
[12:00:13] <mrm> Придётся вспарывать :-)
[12:00:33] <Kakadu> Ну надо руками чтонить вспороть)
[12:00:43] <f[x]> ищет в PATH?
[12:01:12] <Kakadu> f[x]: which разве не то же самое делает?
[12:01:17] <mrm> f[x]: Да, возможно.
[12:01:22] <Kakadu> mrm: setup.ml покажешь?
[12:01:27] <mrm> Сейчас...
[12:02:13] <mrm> http://slexy.org/view/s2EnK5bIkU
[12:02:49] <Kakadu> ой какая там подсветка....
[12:03:06] <mrm> Сам я плохо представляю, как этот OASIS работает (под линуксом моё знакомство с ним ограничивалось установкой чужих пакетов)
[12:03:36] <mrm> http://slexy.org/raw/s2EnK5bIkU
[12:04:34] <f[x]> юзает FileUtils.which
[12:05:38] <f[x]> http://le-gall.net/sylvain+violaine/documentation/ocaml-fileutils/html/api/FileUtil.html#VALwhich
[12:08:32] <Kakadu> а он там не дампает настройки случайно в функции configure?
[12:08:46] <Kakadu> если дампает, то может быть надо в это файло взглянуть и поправить ручками?
[12:09:32] <f[x]> файл setup.data
[12:09:47] <Kakadu> mrm: ^^
[12:12:21] <mrm> Ага, вижу! Именно так, в нём прошиты неправильные пути. Сейчас попробую ручками пофиксить
[12:16:36] <mrm> Не помогло :-)
[12:16:47] <mrm> user@sk-logic /cygdrive/d/mshare/caml_libs/pcre-ocaml
$ ocaml setup.ml -build
Системе не удается найти указанный путь.
E: Failure("Command '/cygdrive/c/OCaml/bin/ocamlbuild.exe -classic-display -no-log -no-links -install-lib-dir /cygdrive/c/OCaml/lib\\ocamlbuild -byte-plugin lib/libpcre_stubs.a lib/dllpcre_stubs.dll lib/pcre.cma lib/pcre.cmxa lib/pcre.a lib/pcre.cmxs examples/cloc/cloc.native examples/count_hash/count_hash.native examples/pcregrep/pcregrep.native examples/subst/subst.native -tag debug' terminated with error code 1")
[12:16:52] <mrm> http://slexy.org/view/s21r8TJD4Y
[12:17:02] <mrm> (пофиксенный setup.data)
[12:17:35] <f[x]> руками эта команда выполняется?
[12:17:58] <f[x]> обратный слэш если поправить в команде?
[12:18:14] <Kakadu> +1
[12:19:16] <mrm> Неа
[12:19:27] <mrm> user@sk-logic /cygdrive/d/mshare/caml_libs/pcre-ocaml
$ /cygdrive/c/OCaml/bin/ocamlbuild.exe -classic-display -no-log -no-links -install-lib-dir /cygdrive/c/OCaml/lib/ocamlbuild -byte-plugin lib/libpcre_stubs.a lib/dllpcre_stubs.dll lib/pcre.cma lib/pcre.cmxa lib/pcre.a lib/pcre.cmxs examples/cloc/cloc.native examples/count_hash/count_hash.native examples/pcregrep/pcregrep.native examples/subst/subst.native -tag debug
Системе не удается найти указанный путь.
Exception End_of_file.
[12:19:48] <mrm> Просто ocamlbuild выполняется
[12:19:50] <mrm> /cygdrive/c/OCaml/bin/ocamlbuild.exe
[12:20:13] <mrm> Сейчас буду резать эту команду
[12:21:09] <mrm> Нашёл проблему: не существует файл "lib/libpcre_stubs.a"
[12:22:37] <mrm> В lib лежит сишный стаб-файл, который почему-то не собрался (по крайней мере setup.ml мне ничего про это не сказал)
[12:22:53] <Kakadu> там всё хитро с камлобилдом
[12:22:55] <mrm> Квест продолжается
[12:23:00] <Kakadu> он же складывает всё в _build
[12:23:10] <Kakadu> скомпиленный файлы
[12:23:17] <Kakadu> ты окуда это запускаешь?
[12:23:44] <mrm> О. Точно. Сейчас попробую из _build\lib
[12:24:16] <mrm> Нет там подкаталога lib :-)
[12:28:11] <Kakadu> ща цигвин обновится
[12:28:17] <Kakadu> я посмотрю что должно запускаться
[12:30:08] <Kakadu> mrm: это примерно как пропатчить кде2 под фриибсд
[12:31:52] <mrm> :-)
[12:39:32] <mrm> У оазиса есть какой-нибудь verbose-mode?
[12:40:03] <Kakadu> вроде был
[12:40:16] <Kakadu> но оазис это всего лишь обёртка над камлобилдом
[12:40:46] <mrm> Ну вот мне и интересно, как пропихнуть параметр к окамлбилду
[12:41:31] <mrm> Придётся ручками в setup.ml исправлять
[12:44:31] tilarids вышел(а) из комнаты: Machine going to sleep
[12:52:24] <Kakadu> тут f[x] что-то мошнил на счет вербозности https://forge.ocamlcore.org/tracker/?func=detail&aid=762&group_id=54&atid=294
[12:54:54] dzhon вышел(а) из комнаты: Replaced by new connection
[12:54:56] dzhon вошёл(а) в комнату
[13:00:12] <Kakadu> mrm: ты всё мучаешься?
[13:09:44] tilarids вошёл(а) в комнату
[13:19:15] Typhon вышел(а) из комнаты
[13:27:07] <mrm> Kakadu: отвлёкся на работу. Сегодня ещё буду мучиться
[13:30:46] <mrm> По поводу проблемы идей пока никаких :-( Все неправильные слеши в командах исчезли, но я всё равно продолжаю получать "Системе не удается найти указанный путь"
[13:32:00] <mrm> user@sk-logic /cygdrive/d/mshare/caml_libs/pcre-ocaml
$ strace ocaml setup.ml -clean
Системе не удается найти указанный путь.
W: Action fail with error: Command '/cygdrive/c/OCaml/bin/ocamlbuild.exe -classic-display -no-log -no-links -install-lib-dir /cygdrive/c/OCaml/bin/ocamlbuild -byte-plugin -clean -tag debug' terminated with error code 1
Системе не удается найти указанный путь.
W: Action fail with error: Command '/cygdrive/c/OCaml/bin/ocamlbuild.exe -classic-display -no-log -no-links -install-lib-dir /cygdrive/c/OCaml/bin/ocamlbuild -byte-plugin -clean -tag debug' terminated with error code 1
[13:38:11] <mrm> Дебаггер тоже не работает, так что остаётся вставлять кучу отладочных сообщений в setup.ml
[13:40:24] <f[x]> руками пускаешь*
[13:40:26] <f[x]> ?
[13:40:31] komar вышел(а) из комнаты: Replaced by new connection
[13:40:31] komar вошёл(а) в комнату
[13:40:45] <f[x]> может быть не удалось найти то что ocamlbuild пытается запустить
[13:40:47] <f[x]> там rm например
[13:46:14] <mrm> Может быть. Пока не понятно. Да, руками пускаю "ocaml setup.ml -build"
[13:49:14] <f[x]> нет. руками пускай команду которая зафейлилась
[13:49:39] <mrm> Одна из команд руками пускается успешно
[13:49:50] <mrm> Но фейлит в билде
[13:50:05] <mrm> Это та, которую я последней прислал (из -clean)
[13:50:31] <mrm> А вот что с дебаггером:
[13:50:40] <mrm> user@sk-logic /cygdrive/d/mshare/caml_libs/pcre-ocaml
$ ocamlc setup.ml -o setup.byte -g
user@sk-logic /cygdrive/d/mshare/caml_libs/pcre-ocaml
$ ocamldebug.exe ./setup.byte
        OCaml Debugger version 4.00.0
(ocd) step
Loading program... Unix error : 'bind' failed : Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт).
[13:50:42] <mrm> Мракобесие полное
[13:51:07] <mrm> Нужно порт поменять
[13:54:06] <f[x]> wut
[14:02:26] komar вышел(а) из комнаты: Replaced by new connection
[14:02:27] komar вошёл(а) в комнату
[14:08:30] <mrm> Аннотации типов с setup.ml работают, но как-то криво: вначале файла работают, но постепенно позиции съезжают (выделения в емаксе не совпадают по форме с выражениями, тип тоже не совпадает).
[14:11:25] komar вышел(а) из комнаты: Replaced by new connection
[14:11:30] komar вошёл(а) в комнату
[14:12:32] <mrm> Короче, беда. Следующую виндовую софтину буду на Racket писать.
[14:13:13] <mrm> Там никогда никаких вендопроблем не было (и в хаскелле нет в последнее время)
[14:13:33] <Kakadu> эмблема Racket напоминает эмблему нового яндекс-браузера
[14:14:15] <mrm> А эмблема окамла напоминает эмблему ненавистного мною перла
[14:14:49] <mrm> Только в последнем мракобесие на уровне языка, а в первом -- на уровне экосистемы
[14:15:46] <f[x]> история успеха
[14:20:49] Typhon вошёл(а) в комнату
[14:22:55] <mrm> generic принта в окамле нет и сейчас мне приходится смотреть аннотации типов в setup.ml и искать строки, которые можно было бы выводить в отладочные принты (это не так просто, как может показаться)
[14:24:44] <Kakadu> ты про тайпкласс Show?
[14:25:52] <mrm> И тупая динамика с RTTI бы сгодилась (как в F#, лиспах и сраных питонах)
[14:26:38] <mrm> Generic print -- это мегаполезная (и не только в отладке) штука, которой сейчас только в C и окамле нет :-)
[14:26:39] <Kakadu> это сразу внесет пенальти по потреблению памяти и скорости
[14:27:53] <mrm> Можно сделать фичу отключаемой. Можно генерить необходимую инфу только в отладочном режиме (чтобы можно было в дебаггере заглядывать во всякие структуры, да хоть бы даже в простейшие сеты и мапы)
[14:28:26] komar вышел(а) из комнаты: Replaced by new connection
[14:28:26] komar вошёл(а) в комнату
[14:28:30] <Kakadu> пошли в ирку троллить французов
[14:28:38] <mrm> И я не помню, чтобы мне не хватало скорости в SBCL (на числодробильных задачах)
[14:29:05] <mrm> Возможно, на символьных задачах OCaml сильно рулить по скорости будет
[14:30:29] <mrm> Но у меня если символьные задачи возникают (связанные с разработкой компиляторов, например), то производительность там большого значения не имеет и от камла главная польза в языковых фичах -- стат. типизации, ADT, паттерн матчингах всякие, модулях
[14:34:32] <mrm> Собственно, всё перечисленное уже в Typed Racket есть, только оно несколько сырое, необкатанное на практике и компилятор медленный очень
[14:35:03] komar вышел(а) из комнаты: Replaced by new connection
[14:35:07] komar вошёл(а) в комнату
[14:48:42] komar вышел(а) из комнаты: Replaced by new connection
[14:48:43] komar вошёл(а) в комнату
[15:12:15] UncleVasya вошёл(а) в комнату
[16:02:00] ketrec вошёл(а) в комнату
[16:02:09] ketrec вышел(а) из комнаты
[16:02:24] ketrec вошёл(а) в комнату
[16:17:12] mrm вышел(а) из комнаты
[16:28:18] komar вышел(а) из комнаты: Replaced by new connection
[16:28:20] komar вошёл(а) в комнату
[16:35:01] Typhon вышел(а) из комнаты
[16:35:28] komar вышел(а) из комнаты: Replaced by new connection
[16:35:30] komar вошёл(а) в комнату
[16:35:42] Typhon вошёл(а) в комнату
[16:38:53] ermine вышел(а) из комнаты
[16:39:07] ermine вошёл(а) в комнату
[16:44:37] UncleVasya вышел(а) из комнаты
[16:49:55] komar вышел(а) из комнаты: Replaced by new connection
[16:49:55] komar вошёл(а) в комнату
[16:58:37] komar вышел(а) из комнаты: Replaced by new connection
[16:58:38] komar вошёл(а) в комнату
[17:03:33] komar вышел(а) из комнаты: Replaced by new connection
[17:03:35] komar вошёл(а) в комнату
[17:04:05] komar вышел(а) из комнаты: Logged out
[17:27:27] gds вошёл(а) в комнату
[17:37:02] komar вошёл(а) в комнату
[18:03:42] Sun][ вышел(а) из комнаты
[18:04:53] dzhon вышел(а) из комнаты
[19:24:02] Kakadu вышел(а) из комнаты
[19:24:46] Kakadu вышел(а) из комнаты
[19:45:44] <akovbovich> подскажите, пожалуйста, почему не выводятся дебаг сообщения в lwt https://gist.github.com/3820283
[19:49:48] akovbovich вышел(а) из комнаты
[19:49:58] akovbovich вошёл(а) в комнату
[19:50:28] <f[x]> может лог левел надо выставить?
[19:51:20] <akovbovich> тогда он независимо от -ppopt -lwt-debug выводит
[19:53:03] <f[x]> Section levels are initialised using the LWT_LOG environment variable, which must contains one or more rules of the form pattern -> level separated by ";". Where pattern is a string that may contain *.
[19:53:30] <f[x]> ну ppopt определяет что в коде будет, а в рантайме выбираешь хочешь ли ты его на самом деле видеть в выводе
[19:53:43] <f[x]> т.е. и статический и динамический выбор
[19:56:02] Kakadu вошёл(а) в комнату
[19:58:02] <akovbovich> супер, все таки надо читать документацию внимательно в след раз)
[20:01:34] <akovbovich> вот только без ppopt с LWT_LOG="debug" дебаг сообщения все равно выводятся
[20:01:52] <akovbovich> By default, the syntax extension removes all logs with the level debug. To keep them, pass the command line option -lwt-debug to camlp4.
[20:19:57] <f[x]> ну так их никто не удаляет и debug остаётся
[20:20:03] <f[x]> а
[20:20:06] <f[x]> ну хз
[20:20:09] <f[x]> не знаю
[20:33:40] dzhon вошёл(а) в комнату
[20:33:48] komar вышел(а) из комнаты: Logged out
[20:35:03] komar вошёл(а) в комнату
[20:44:44] <akovbovich> как оказалось нужно указать -package lwt.syntax.log , чтобы удалить дебаг логи
[20:47:56] ftrvxmtrx вышел(а) из комнаты
[21:06:57] ketrec вышел(а) из комнаты
[21:08:32] mrm вошёл(а) в комнату
[21:48:18] ftrvxmtrx вошёл(а) в комнату
[21:50:07] Typhon вышел(а) из комнаты
[21:57:48] Typhon вошёл(а) в комнату
[22:08:15] mrm вышел(а) из комнаты
[22:11:01] ermine вышел(а) из комнаты
[22:19:52] mrm вошёл(а) в комнату
[22:35:10] tilarids вышел(а) из комнаты: Machine going to sleep
[22:43:49] <Kakadu> gds: http://paste.in.ua/4823/ покажи суперкласс!
[22:53:50] Typhon вышел(а) из комнаты
[22:57:26] Typhon вошёл(а) в комнату
[23:04:33] <Kakadu> вопрос снят
[23:17:49] <Kakadu> другой появился
[23:17:56] <Kakadu> http://paste.in.ua/4823/
[23:33:02] tilarids вошёл(а) в комнату
[23:35:08] Typhon вышел(а) из комнаты
[23:48:25] mrm вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!