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

GMT+3
[00:06:49] Kakadu вошёл(а) в комнату
[00:09:17] serp256 вышел(а) из комнаты
[00:37:03] Typhon вышел(а) из комнаты
[00:48:10] Kakadu вышел(а) из комнаты
[01:02:11] ygrek вышел(а) из комнаты
[01:03:55] ermine вышел(а) из комнаты
[05:58:27] daapp вошёл(а) в комнату
[07:49:06] geovit вошёл(а) в комнату
[08:05:03] iNode вошёл(а) в комнату
[09:54:33] serp256 вошёл(а) в комнату
[10:43:23] ygrek вошёл(а) в комнату
[10:43:36] ygrek вышел(а) из комнаты
[10:43:55] ygrek вошёл(а) в комнату
[11:34:54] ermine вошёл(а) в комнату
[11:46:29] f[x] вошёл(а) в комнату
[12:29:40] serp256 вышел(а) из комнаты
[12:31:33] serp256 вошёл(а) в комнату
[12:49:08] daapp вышел(а) из комнаты
[15:17:26] ygrek вышел(а) из комнаты: Replaced by new connection
[15:17:28] ygrek вошёл(а) в комнату
[15:20:46] Typhon вошёл(а) в комнату
[15:21:32] d4e40_mb3_ вошёл(а) в комнату
[15:21:39] d4e40_mb3_ вышел(а) из комнаты
[15:22:42] ssknxz0 вошёл(а) в комнату
[15:22:48] ssknxz0 вышел(а) из комнаты
[17:00:51] geovit вышел(а) из комнаты
[17:03:08] <f[x]> olegfink: http://vpaste.net/er2LI?
[17:04:46] olegfink вышел(а) из комнаты
[17:08:13] iNode вышел(а) из комнаты
[17:20:42] olegfink вошёл(а) в комнату
[17:21:35] <olegfink> как раз вовремя сервер удох
[17:21:41] <olegfink> спасибо
[17:22:13] <olegfink> только вот оно зачем-то ocamldep -cclib передает
[17:22:46] <olegfink> как сказать, чтобы оно только при линковке это делало? (правда, я обещал сам разбираться)
[17:23:08] <f[x]> это скелет - я кода не видел и собирать не пробовал
[17:23:20] <f[x]> только при линковке - flag ["link", ...]
[17:24:21] <olegfink> ага
[17:24:35] <olegfink> а use_slvm я должен указывать для всех, кому он нужен?
[17:25:27] <olegfink> (т.е. казалось бы он нужен для всех, кто зависит от Slvm)
[17:26:47] <f[x]> угу
[17:27:09] <f[x]> Slvm это имя модуля, а камлобилд в общем случае не знает какой модуль в каком cma лежит
[17:27:26] <f[x]> поэтому все use_ надо писать руками
[17:28:00] <f[x]> если лень - можно писать просто true: use_llvm, use_slvm, use_всё-остальное
[17:31:29] olegfink вышел(а) из комнаты
[17:35:05] olegfink вошёл(а) в комнату
[17:35:19] <olegfink> ооо, <*.ml> -- не то же, что true
[17:35:46] <olegfink> а что должно быть в libslvm_stubs?
[17:39:39] <olegfink> ircular build detected (slvm.a already seen in [ slvm.a; comp.native ])
[17:39:56] <olegfink> может, все-таки код показать целиком? ;-)
[17:40:12] <ermine> список обжектных файлов
[17:40:34] <ermine> olegfink: трудишься над сишним биндингом?
[17:41:03] iNode вошёл(а) в комнату
[17:41:44] <olegfink> это не столько биндинг, сколько подпорка для llvm/ocaml
[17:41:57] <olegfink> http://dpaste.com/148397/
[17:42:31] <olegfink> http://vpaste.net/rOMpF? -- это все, что в нем есть
[17:42:55] <f[x]> в libslvm_stubs.clib перечисляешь .o файлы
[17:43:12] <f[x]> true: use_slvm
<slvm.*>: -use_slvm
:)
[17:46:59] <ermine> мда, для нового камля надо все пересобирать - stdlib изменился
[17:49:10] <olegfink> ocamlbuild comp.byte
[17:49:12] <olegfink> Finished, 1 target (0 cached) in 00:00:00.
[17:49:14] <olegfink> /usr/bin/ocamlopt.opt -a llvm.cma llvm_bitwriter.cma llvm_bitreader.cma -cclib -lstdc++ slvm.cmx -o slvm.cmxa
[17:49:18] <olegfink> а с какой радости он .cmxa вообще собирает?
[17:52:52] <olegfink> стоп, а есть в flag не сказано "link", разве это означает, что оно не будет применяться в случае "link"?
[17:53:07] <olegfink> мне по смыслу надо, чтобы -I +camlp4 было и в том, и в другом случае
[17:53:52] <ermine> посмотри список флагов, повешенных на таргет
[17:54:04] <ermine> в -documentation кажись
[17:54:06] olegfink вышел(а) из комнаты
[17:56:20] olegfink@gmail.com/Meebo вошёл(а) в комнату
[17:58:30] <olegfink@gmail.com/Meebo> flag {. byte, link, ocaml, use_camlp4 .} "-I +camlp4 camlp4lib.cma"
[17:59:04] <olegfink@gmail.com/Meebo> я и сказал use_camlp4 для "parser.ml"
[18:00:24] <olegfink@gmail.com/Meebo> ладно, лучше пойти читать туториал
[18:04:58] <f[x]> покажи весь код
[18:05:30] <ermine> и доку к коду :)
[18:13:10] <olegfink@gmail.com/Meebo> ну код состоит в основном из minml харроповского, какая там дока ;-)
[18:13:55] <olegfink@gmail.com/Meebo> http://rain.ifmo.ru/~olegfink/gad.tgz
[18:21:29] <olegfink@gmail.com/Meebo> ermine, кстати, а в макоси llvm уже из коробки?
[18:26:53] <ermine> olegfink@gmail.com/Meebo: в макоси? хз :)
[18:27:09] <ermine> olegfink@gmail.com/Meebo: во фре оно в портах
[18:29:27] <olegfink@gmail.com/Meebo> ой, меня и впрямь так страшно зовут
[18:29:40] <olegfink@gmail.com/Meebo> какой все-таки ужасный xmpp
[18:31:49] <olegfink@gmail.com/Meebo> мне как-то казалось, что у тебя макось
[18:38:44] <ermine> ну макось есть в домашнем хозяйстве
[18:39:03] <ermine> только там компилирует xcode
[18:39:48] <ermine> olegfink@gmail.com/Meebo: а что за клиент у тебя там?
[18:43:25] <olegfink@gmail.com/Meebo> где там?
[18:43:44] <olegfink@gmail.com/Meebo> который не meebo? psyc->xmpp gateway
[18:43:55] <olegfink@gmail.com/Meebo> юзаемый через irc->psyc gateway :-)
[18:45:07] <ermine> пиджин?
[18:45:40] <ermine> манияк
[18:46:31] <olegfink@gmail.com/Meebo> я не виноват
[18:46:41] <olegfink@gmail.com/Meebo> просто я не нашел нормальных нативных xmpp клиентов
[18:47:59] <olegfink@gmail.com/Meebo> а при чем здесь пиджин?
[18:50:08] <olegfink@gmail.com/Meebo> в общем, с ллвм все-таки лучше не связываться, у него fun factor много меньше единицы
[18:50:38] <olegfink@gmail.com/Meebo> а UML как язык слишком сложен для моих целей
[18:53:37] <olegfink@gmail.com/Meebo> ermine, кстати вот, видимо, нынешний дом UML'я: http://embeddedml.sourceforge.net/Site/Intro.html
[19:06:43] <ermine> olegfink@gmail.com/Meebo: а это язык программирования?
[19:07:01] <olegfink@gmail.com/Meebo> uml?
[19:07:15] <ermine> да, умл
[19:07:17] <olegfink@gmail.com/Meebo> угу, разновидность ml для umix
[19:07:46] <olegfink@gmail.com/Meebo> собственно на нем весь umix и написан
[19:08:05] <ermine> тьфу
[19:08:09] <ermine> так ты про этот умл
[19:08:16] <olegfink@gmail.com/Meebo> кто же на ocaml@ говорит про _тот_ uml :-P
[19:08:51] <ermine> я про умл ничо не говорила, вот про умикс - да
[19:10:02] <olegfink@gmail.com/Meebo> ну компиляторов с других языков в um вроде как нету
[19:11:45] <olegfink@gmail.com/Meebo> вот компилятор с чего-нибудь тупого в um очень бы хотелось
[19:13:36] <ermine> спроси у алексея, он как-то пару задачек для умикса написал
[19:15:55] <olegfink@gmail.com/Meebo> а вообще не такое уж у uml и страшное ast: http://vpaste.net/KxmKV?
[19:16:48] ermine вышел(а) из комнаты
[19:21:23] ermine вошёл(а) в комнату
[19:22:48] <f[x]> /usr/include/llvm/Support/DataTypes.h:47:3: error: #error "Must #define __STDC_LIMIT_MACROS before #including Support/DataTypes.h"
[19:23:11] <olegfink@gmail.com/Meebo> llvm-config --cpp-flags
[19:23:48] <olegfink@gmail.com/Meebo> ну или если камлобилду такое слабо, то -DNDEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
[19:23:53] <olegfink@gmail.com/Meebo> т.е. --cppflags
[19:28:54] <f[x]> ага, thx
[19:40:39] <olegfink@gmail.com/Meebo> а ведь для окамла нету чего-нибудь типа ckit или scexp?
[19:40:46] <olegfink@gmail.com/Meebo> я уже почти сдался и готов генерить C
[19:43:13] <olegfink@gmail.com/Meebo> ermine, ты вот давеча говорила про ocpp, а скажем http://linux.die.net/man/1/ocpp говорит, что это совсем не о том
[19:45:00] <f[x]> olegfink@gmail.com/Meebo: http://vpaste.net/jaab8?
[19:49:28] <f[x]> http://www.venge.net/graydon/talks/mkc/html/mgp00001.html
[19:57:38] <olegfink@gmail.com/Meebo> а, взять cquot оттуда?
[19:57:48] f[x] вышел(а) из комнаты
[20:01:52] <olegfink@gmail.com/Meebo> ура!
[20:01:55] <olegfink@gmail.com/Meebo> спасибо!
[20:02:01] <olegfink@gmail.com/Meebo> ocamlbuild повержен
[20:02:45] <olegfink@gmail.com/Meebo> а почему (идеологически) true: use_camlp4?
[20:03:24] <olegfink@gmail.com/Meebo> разве оно не должно делать вывод из link; use_camlp4 у parser.ml, что link; use_camlp4 у всего, что зависит от parser.ml?
[20:22:19] serp256 вышел(а) из комнаты
[20:25:32] <olegfink@gmail.com/Meebo> http://docs.camlcity.org/docs/godipkg/3.11/godi-frontc/doc/godi-frontc/html/Cprint.html -- во
[20:46:33] olegfink@gmail.com/Meebo вышел(а) из комнаты
[21:36:16] Kakadu вошёл(а) в комнату
[22:06:21] olegfink@gmail.com/Meebo вошёл(а) в комнату
[22:50:33] <ygrek> камлобилд глобально ничего не выводит, только локально в пределах каждого правила - теги модифицируют правила
[22:51:50] <olegfink@gmail.com/Meebo> странно, или я просто неправильно пытаюсь его использовать?
[22:54:34] <ygrek> что странно? это объективная реальность
[22:54:47] <olegfink@gmail.com/Meebo> во всяком случае, в kenc (который юзается в Plan 9, Inferno и Go) есть #pragma lib "...", которая пишется в инклюде к библиотеке и прописывается компилятором в .o, а затем линковщик на это смотрит и добавляет указанные либы
[22:54:59] <olegfink@gmail.com/Meebo> я думал, что это универсально приложимая идея
[22:55:05] <ygrek> такое и в msvc есть
[22:55:27] <ygrek> и в камле в cma записываются опции компилятора при сборке финального бинарника
[22:55:55] <olegfink@gmail.com/Meebo> но не в .cm[ox]?
[22:56:14] <ygrek> нет насколько я знаю
[22:57:26] <olegfink@gmail.com/Meebo> т.е. от добавления -a ко всем вызовам ocamlc я сильно облегчу себе жизнь?
[22:58:14] <ygrek> нет
[22:58:23] <ygrek> записываются только опции для сишного компилятора
[22:58:34] <ermine> olegfink@gmail.com/Meebo: strings *.cm*
[23:00:19] olegfink вошёл(а) в комнату
[23:00:38] <olegfink> так
[23:00:54] <olegfink@gmail.com/Meebo> вроде, жизнь
[23:01:03] olegfink@gmail.com/Meebo вышел(а) из комнаты
[23:02:20] <olegfink> что-то grep -- -L ничего интересного не показывает
[23:02:39] <olegfink> а, потому что надо -l
[23:04:35] <olegfink> ну хорошо, следовательно, нет никакого механизма, чтобы, указавши что-то для одного модуля, повлиять на поведение при линковке его с другими?
[23:06:27] <ermine> а вот жалко, что в cma не указаны дополнительные либлы как это сделано у ocamlfind
[23:07:22] <ermine> olegfink: если юзать -rectypes, то повлияет
[23:07:37] <ygrek> olegfink: на уровне ocamlc/opt - нет
[23:07:56] <ygrek> да, rectypes и сишные опции
[23:08:01] <ygrek> это исключение
[23:08:26] <olegfink> вот переделать бы все ;-)
[23:08:29] <olegfink> только непонятно как
[23:08:38] <ygrek> вообще просто считай ocamlc/opt низкоуровневыми утилитами - они тупо делают что им говорят
[23:08:47] <ygrek> сделай высокоуровневый драйвер
[23:09:27] <ygrek> например ocamlbuild + ocamlfind плагин + база соответствий модуль<->пакет
[23:10:31] <olegfink> не такие уж они низкоуровневые
[23:10:40] <ygrek> интересно что там le gall делает - oasis какой-то, обещают cabal для камля (это немножко не из той оперы, но всё же)
[23:10:41] <olegfink> мне вот .cmi не нравится, а они его хотят
[23:11:20] <ermine> а чо не нравится?
[23:11:27] <ermine> это ж интерфейсы
[23:12:09] <ermine> ygrek: а ты поставил себе свежее камло и все пересобрал?
[23:12:09] <olegfink> угу, что-то я не видел счастья на лицах пользователей тулкитов с отдельными интерфейсами
[23:12:25] <olegfink> может, не туда смотрел
[23:13:15] <ermine> olegfink: причем надо каждый раз давать свежие интерфейсы, когда обновляешь продукт :)
[23:13:16] <ygrek> это компилированные интерфейсы. и это всё меняет
[23:13:18] <olegfink> разве это самое разделение где-нибудь юзается?
[23:13:45] <olegfink> по назначению, то есть, чтобы разные реализации подтыкать
[23:14:23] <ygrek> ermine: нет, куда спешить? вот пакет выйдет, тогда может.
[23:15:08] <ermine> ygrek: а я поставила поверх пакета, теперь думаю - поставить пакет обратно поверх этого или руками пересобрать либлы
[23:15:14] <olegfink> ygrek, а что меняет компилированность?
[23:15:57] <ygrek> ermine: какой-такой пакет во bsd?
[23:16:01] <olegfink> а на тему сломанности тулкита, отдельно хочется передать теплый превед camlp4* и его isatty()
[23:16:19] <ygrek> olegfink: передай привет в виде патча
[23:16:31] <ygrek> компилированность меняет время сборки. кардинально
[23:16:35] <olegfink> ну раз так сделано, значит фича
[23:16:58] <ygrek> а, это насчёт бинарного дампа аста?
[23:17:05] <ygrek> ну -pr o сказал и всё, делов-то
[23:17:06] <olegfink> когда я такой превед в виде патча передал в pacman (пм в archlinux), меня чем-то коричневым облили
[23:18:03] <olegfink> ну с моей точки зрения любой софт, поведение которого меняется от добавления | cat, содержит баг
[23:18:29] <ermine> ygrek: ну да, порт во фре, если собирать руками ocaml и его ставить, то его пути не отличаются от того, что прописаны в порту
[23:19:16] <ygrek> olegfink: таки определись - камль-тулы сильно умные или сильно тупые? ;)
[23:19:21] <olegfink> это что-то в стиле существования (f : t), такой, что (f . id :: t1) где t <> t1
[23:19:44] <ermine> olegfink: а тебя не бесит наличие /usr/include?
[23:19:48] <olegfink> что-то я в середине на хаскель перешел
[23:20:14] <ermine> там свалка экспортированных функций
[23:20:27] <ermine> на хаскеле .hi
[23:20:35] <ermine> вот они меня бесят
[23:20:46] <olegfink> про хаскельные компиляторы ничего не знаю
[23:21:02] <olegfink> ну я знаю, что для си можно сделать хорошо
[23:21:16] <olegfink> при условии одного инклюда на либу
[23:21:28] <olegfink> есть даже пруф в виде реализации такой системы
[23:21:56] <olegfink> ygrek, они в основном неправильные с моей т. зр. :-)
[23:22:32] <olegfink> я не знаю как, но это должно быть точно не так (c)
[23:23:59] <olegfink> вот жаба же как-то обходится без интерфейсов?
[23:24:48] <olegfink> (правда, там зато какая-то [жм]уть в районе ClassLoader)
[23:27:39] ygrek не шарит. французы так сделали, значит так правильно. остальное - ересь.
[23:29:51] <olegfink> вообще имхо главный бич модульных систем (хотя говорим мы скорее о системах компиляции) -- это возникшая где-то в районе System V мода на хранение вещей в кривых местах
[23:30:06] <olegfink> вроде /usr/lib/pkg/
[23:30:40] <ygrek> а где надо?
[23:30:59] <olegfink> в любом, но одном
[23:31:05] <olegfink> и едином для всех систем
[23:31:34] <olegfink> т.е. никаких PATH, RANDOMLANG_HOME и пр.
[23:31:43] <ygrek> гг
[23:31:55] <olegfink> я знаю, что сейчас уже так не получится :-)
[23:32:06] <olegfink> но от этого оно не перестает быть главной проблемой
[23:32:12] <ygrek> т.е. все вендоры всех ОСей в мире, все разработчики всех софтов, etc - договорились?
[23:32:21] <ygrek> так никогда бы не получилось
[23:32:23] <olegfink> ну знаешь, была такая попытка
[23:32:33] <olegfink> даже несколько
[23:32:40] <olegfink> SuS, POSIX всякие
[23:32:59] <olegfink> только они описывали немного не то уже
[23:33:02] <ygrek> ну и сейчас как бы есть lsb
[23:33:04] <ygrek> и чего
[23:33:16] <ygrek> и вообще это оффтопик
[23:33:44] <olegfink> ну так онтопика нету
[23:34:02] <olegfink> единственная ось на окамле никакого отношения к окамлу кроме языка реализации не имеет
[23:34:40] <olegfink> и вообще кажется там юзерспейса пока нету
[23:36:48] <ygrek> что за ось на камле?
[23:37:27] <olegfink> http://code.google.com/p/snowflake-os/
[23:37:36] <olegfink> оно по слухам даже работает
[23:40:16] <ygrek> жуть
[23:44:10] <olegfink> http://code.google.com/p/snowflake-os/source/browse/trunk/kernel/realTek8139.ml -- вот, кто сказал, что нельзя писать драйверы на окамле, если очень хочется
[23:59:41] michael.holub вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!