Home
Objective Caml
ocaml@conference.jabber.ru
Четверг, 12 мая 2011< ^ >
gds установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Светлое будущее -- http://camlunity.ru/ | Нефильтрованное настоящее -- https://github.com/camlunity/kamlo_wiki | Портер прошлое -- http://gdsfh.dyndns.org/kamlo/ | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв, move on
Конфигурация комнаты
Участники комнаты

GMT+4
[00:21:34] ygrek вышел(а) из комнаты
[00:21:55] gds вышел(а) из комнаты
[01:17:09] Kakadu вышел(а) из комнаты
[01:26:43] Typhon вошёл(а) в комнату
[02:26:11] zert вышел(а) из комнаты
[02:38:43] Typhon вышел(а) из комнаты
[03:00:49] ftrvxmtrx вышел(а) из комнаты
[03:19:49] ftrvxmtrx вошёл(а) в комнату
[03:41:55] Diggimortal вошёл(а) в комнату
[03:44:52] ftrvxmtrx вышел(а) из комнаты
[04:06:49] Diggimortal вышел(а) из комнаты
[04:08:27] Digimmortal вошёл(а) в комнату
[04:32:41] ftrvxmtrx вошёл(а) в комнату
[04:37:36] ftrvxmtrx вышел(а) из комнаты
[04:41:24] ftrvxmtrx вошёл(а) в комнату
[05:05:00] Digimmortal вышел(а) из комнаты
[06:43:12] iNode вышел(а) из комнаты
[07:33:42] Typhon вошёл(а) в комнату
[07:42:45] Typhon вышел(а) из комнаты
[08:58:19] gds вошёл(а) в комнату
[09:07:35] Typhon вошёл(а) в комнату
[09:07:42] <gds> смех-ёчки: http://byorgey.files.wordpress.com/2011/05/monad_tutorial.jpg
[09:39:19] <gds> страннота 100%:
$ ocamlc -c -g -w a -pp camlp4r -o substring.cmo substring.ml
$ ocamlc -c -g -w @a -pp camlp4r -o substring.cmo substring.ml
Cannot open file a
$
[09:42:05] <Typhon> а окамель какой? как-то ты там себе насобирал странно :-) УМВР
[09:43:59] <gds> 3.13.0+dev3
[09:44:08] <gds> понел, буду ковырять.
[09:44:34] <gds> хотя первая идея была -- отключить в оазисе "-w @a" и дойти до "-w A" как-то.
[09:58:16] <Typhon> хорошая идея, может они поменяли обратно? доки там есть свежие к 3.13?
[09:59:56] <gds> если можешь, скомпилируй:
Printf.printf "argv = [%s]\n" (String.concat " ; " (Array.to_list (Array.map (Printf.sprintf "%S") Sys.argv)))
и запусти "q.exe @a"
[10:00:27] <gds> дело в том, что в окамловских исходниках под #ifdef _WIN32 стоит как раз та хрень, которая раскрывает @ и шелл-глобы.
[10:01:36] <Typhon> ./a.out @a
argv = ["./a.out" ; "@a"]
но у меня тут макось, венды под рукоую нету
[10:02:06] <gds> а, под юниксами всё ок, там точно нет _WIN32
[10:04:21] <Typhon> блин, не нравится, что по крайней мере на бсд системах оазис префикс берёт /usr/local , а не относительно камла, которым я вызываю вычисляет его. не помню, чтобы такое было на убунте, кажется, вычислял относительно камла и бинарники от либл ставил рядышком с компилятором, а не в системные места
[10:05:11] <gds> а чего бы в PATH первым не поставить нужный камл?  у меня при удолении setup.data он берёт первый, судя по ощущениям (не знаю, в общем случае это так или нет).
[10:05:17] ermine вошёл(а) в комнату
[10:09:32] <Typhon> у меня один камл здесь, он стоит в /opt/oc312
[10:09:50] <Typhon> и на фряшке тоже один и стоит в своей дире с нужными правами, а не в системной
[10:12:12] <gds> тогда ничего не понятно: как у меня оазис (сделанный твоими руками для ocaml-substring!) берёт нужный компилятор, при условии стоящего системного.  Может ещё дело в [O]CAMLLIB стоящем?
[10:12:24] <gds> 3.11.1 тоже подвержен "@a"
[10:13:23] <gds> ну, допустим, багу им туда настрочить можно, но чему это поможет?
[10:13:46] <gds> ведь "-w @a" в новом окамле -- это очень даже нормальные опции для компиляции.
[10:14:08] <Typhon> у меня [O]CAMLLIB не задан, надо дома проверить на убунте, там тоже в нужном месте стоит, но проблем нету. пока написал в чятик ирцшный, послушаю, что скажут.
[10:14:28] <Typhon> а в смысле, 3.11.1 подвержен? @a — это же из 3.12 ?
[10:15:18] <Typhon> или в виндовой версии все @ раскрываются в какую-то шляпу и ничего не работает?
[10:17:41] <Typhon> ermine: ты под макосью лвт когда собирала, ворнинги при билде видела? http://paste.in.ua/2334/ я сейчас из даркса собрал — видел. а на фрибсд недавно, тоже из даркса — не видел, кажется
[10:18:03] <gds> подвержен -- в смысле "@a" пытается раскрыть в командной строке, даже если тестовая программа, а не "ocamlc ... -w @a"
[10:18:26] <gds> угу, все раскрываются -- пытается быть открыт файл "a" и подставлен в командную строку.
[10:19:49] <Typhon> а это поведение вендовой консоли, или французы такое придумали? если второе — то как-то странно, зачем тогда -w @a придумывать :-)
[10:21:40] <gds> второе!
[10:22:01] <gds> зачем -- потому что о порте падвенду думают либо не головой, либо в последнюю очередь.
[10:22:48] <gds> я-то могу отломать это дело, да не уверен, что само камло не подставляет @responsefile при вызове себя.
[10:23:05] <Typhon> ну так проще же не делать, чем делать так, что оно конфликтует с придуманными ими же опциями
[10:23:16] <gds> но хочется ведь сделать!
[10:23:28] <gds> кстати да, отломаю.  мы ж претендуем на гордое звание "типа юникс, но падвендой", а там "@" нет.
[10:23:29] <Typhon> отломать, в смысле, попатчить камло в оверблде ?
[10:23:32] <gds> да.
[10:23:42] <gds> ну а чо делать, есть другие идеи?
[10:24:01] <gds> кстати, достаточно будет только "@" отломать, остальные "экспансии" не мешают.
[10:24:12] <Typhon> ну да, второй вариант — найти какое-то "экранирование" и везде патчить (!) оазис / мейкфайлы, чтобы оно эксейпило
[10:25:05] <gds> "@" -- кривулина с досовских времён.  вроде сейчас процессу можно давать очень большие командные строки в вендах.  (не уверен, конечно...)
[10:37:40] <gds> впрочем, багу пока репортить не буду, так как очень вероятно, что с отломанным @ оно будет работать нормально (в частности, соберёт оверблд не хуже, чем раньше), чтобы можно было гордо сказать "отломал @, всё работает".
[10:39:36] <ermine> Typhon: я под макосью эту кухню не собирала
[10:41:12] <Typhon> не люблю ворнинги при компеляции :-) на каждый ворнинг, по идее, объяснительная записка должна быть в ридми, почему нельзя избавиться и почему это не страшно
[10:46:01] <gds> это да.  Записка, подписанная начальником QA и генеральным директором.
[11:00:46] <gds> кстати, про on-disk datastructure подумалось, как можно оптимизировать перезапись блоков.  Два варианта: 1. оформить корневые значения в виде mutable single-linked list, и добавление нового корневого значения вызовет запись в двух блоках: в хвосте, где nil, и в непосредственно новом блоке.  2. постановить, что последний блок файла (4096 байт, например) всегда содержит служебную информацию (например, указатель на первое и последнее корневое значение), и при расширении файла сначала рисовать новый "последний блок", а затем уже писать в файл данные.
[11:24:15] ftrvxmtrx вышел(а) из комнаты
[11:24:51] zert вошёл(а) в комнату
[12:01:03] ftrvxmtrx вошёл(а) в комнату
[12:06:07] Kakadu вошёл(а) в комнату
[12:17:46] <gds> я с ocamldoc не очень любился, поэтому сходу не могу представить, где ошибка.  http://paste.in.ua/2335/ -- подскажите, если не сложно.
[12:31:16] <f[x]> file $(ocamlc -where)/ocamldoc/odoc_html.cmi
[12:31:26] <f[x]> а так непонятно
[12:33:22] <gds> $ file $(ocamlc -where)/ocamldoc/odoc_html.cmi
D:/ov312/ocaml/lib/ocamldoc/odoc_html.cmi: Objective caml interface file (.cmi)
(Version 012).
[12:35:43] <gds> понятно, что точный диагноз поставить, вероятно, сложно, но интересно, куда копать.
[12:40:02] <f[x]> может в ocamldoc'е чего-нибудь поменялось
[12:41:43] ftrvxmtrx вышел(а) из комнаты
[12:42:50] ftrvxmtrx вошёл(а) в комнату
[12:51:21] <gds> ага, они его запихнули в Odoc_html.Generator.html
[12:51:53] <Typhon> oasis use the same default as autoconf (GNU style)
for prefix and the rest
[12:51:59] <Typhon> ответил ЛёГалл
[12:52:54] <gds> ага, ну и Odoc_info.Args -> Odoc_args
[12:53:07] <Typhon> f[x]: ты на дебиане/убунте ставил окамель в нестандартные локации? оазис куда потом бинарники пихнуть у тебя пытается? ($prefix какой? )
[12:55:29] <f[x]> бинарники в /usr/local/bin
[12:56:00] <f[x]> логично
[12:58:04] <Typhon> а почему не относительно камла установленного? и если у тебя несколько окамлов, с разными версиями всяких либ, они же будут перезатирать друг друга в /usr/local/bin ?
[12:59:22] gds вышел(а) из комнаты
[13:18:04] <f[x]> бинарники ведь
[13:18:11] <f[x]> как они связаны с версией камля?
[13:18:55] <f[x]> эквивалентно сишной программе скомпиленной разными gcc
[13:22:41] <Typhon> ну вот ставишь ты оазис для двух версий окамля, там бинарник оазис, тебе будет пофиг, какой из бинарников останется? + прав на /usr/local может не быть. мне кажется более логичным ставить относительно окамла, я ж не зря туда его поставил? может быть установка в хоумдир и т.д.  или это special case и всех в общем случае устраивает установка в системное место бинарей?
[13:24:36] <f[x]> оазис для двух версий камля??
[13:24:44] <f[x]> а, либы
[13:24:59] <f[x]> ну либы друг-друга не затрут - а какой из бинарников останется - пофиг
[13:25:08] <f[x]> они ж работать одинаково будут
[13:25:59] <f[x]> имхо логично бинарники _по умолчанию_ ставить в неверсионный каталог
[13:26:17] <f[x]> ты ж не ставишь обычные программы рялом с gcc :)
[13:26:46] <Typhon> ну технически, они _рядом_, я не ставлю гцц в домашнюю или другую диру %)
[13:27:02] <f[x]> этак можно дойти до /usr/local/gcc-3.2.1/binutils-2.91/glibc-2.11/linux-2.6.38/helloworld
[13:28:26] <f[x]> не рядом
[13:28:28] <f[x]> $ ls /usr/lib/gcc/x86_64-linux-gnu/
4.1  4.1.3  4.3  4.3.1  4.3.2  4.4  4.4.4  4.4.5
[13:34:51] <Typhon> f[x]: а компилятор и всё остальное у тебя лежат версионно? (от окамла)
[13:35:38] <f[x]> один системный, в остальные версионно
[13:36:40] <f[x]> общая идея такая что бинарник не зависит от компилера - поэтому ставится в "глобальный" каталог, либы же зависят - поэтому ставятся рядом с компилером
[13:42:47] komar вышел(а) из комнаты: Replaced by new connection
[13:42:47] komar вошёл(а) в комнату
[13:43:18] <Typhon> надо переварить это :-) пока что мне мой подход кажется более логичным, но он скорее со стороны "системный" вс "пользовательски(й|е)" версии. + не нравится, что сейчас для установки либ никаких судо не надо, а если будет ставится бинарник, то надо будет весь "make install" выполнять с судо :-(
[13:50:53] <f[x]> ну дык, если ты ставишь бинарник так что он доступен всем пользователям - нужны рутовые права, да
[13:51:04] <f[x]> не хочешь - override и ставишь в homedir
[13:51:25] <f[x]> а дефолты как в autoconf'е
[13:54:19] <Typhon> не, я не против рутовых прав, если в системное место, меня парит, что и либка тогда от рута встанет в специально отведённое, с нужными правами место. но немного парит, а так да, надо просто определиться, у меня типа "юзерская" установка, или просто версионность и действовать соот-ще, либо оверрайдить постоянно, либо ставить в систем.
[13:56:02] <f[x]> можно ещё destdir юзать
[14:37:13] gds вошёл(а) в комнату
[16:05:45] Typhon вышел(а) из комнаты
[16:06:25] Typhon вошёл(а) в комнату
[16:18:01] Digimmortal вошёл(а) в комнату
[16:24:20] Kakadu вышел(а) из комнаты: Replaced by new connection
[16:24:21] Kakadu вошёл(а) в комнату
[16:29:30] Kakadu вышел(а) из комнаты
[16:29:36] Kakadu вошёл(а) в комнату
[18:58:03] Kakadu вышел(а) из комнаты
[19:20:53] Typhon вышел(а) из комнаты
[19:36:51] ftrvxmtrx вышел(а) из комнаты
[20:00:26] komar вышел(а) из комнаты: Replaced by new connection
[20:00:26] komar вошёл(а) в комнату
[20:03:10] Kakadu вошёл(а) в комнату
[20:18:59] ftrvxmtrx вошёл(а) в комнату
[23:16:09] Typhon вошёл(а) в комнату
[23:28:22] gds вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!