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

GMT+4
[00:20:59] ermine вышел(а) из комнаты
[00:57:16] Kakadu вышел(а) из комнаты
[00:59:55] Typhon вышел(а) из комнаты: Replaced by new connection
[00:59:57] Typhon вошёл(а) в комнату
[01:12:39] <Typhon> вот ещё мысль, хотел сейчас сделать, но не выдавливается из головы ничего: набросать в вике gettingstarted небольшой -- как самый простой хэллоуворлд написать. от установки окамла + финдлиба, дальше тест репла, "скрипт" с #!/usr/bin/env ocaml, установка оазиса, простой _oasis файл для executable и собственно какой-то кодэ. + ссылки на другие полезные страницы. если у кого есть силы -- милости прошу :-) (особенно в часть про установку окамла и пакетов -- платформозависимое может быть).
[01:14:15] <bobry> что то странное с русской планетой творится, рсска показывает посты 2008го года
[01:14:55] <bobry> Typhon, на Github?
[01:15:05] <Typhon> bobry, угу, в вику
[01:15:23] <bobry> ок, тока я с утра лучше на свежую голову :)
[01:15:37] <Typhon> если из жж, то там все рсски заново пришли не так давно, из-за того, что они урлы сменили для коммьюнить
[01:17:03] <bobry> что то я не вижу там gettingstarted
[01:17:13] <bobry> последние правки от gds в crazyideas
[01:37:35] <Typhon> ну да, я ж сказал, что не выдавливается из головы ничего, поэтому и там нету :D
[01:43:29] Typhon вышел(а) из комнаты: Replaced by new connection
[01:43:32] Typhon вошёл(а) в комнату
[01:44:35] Typhon вышел(а) из комнаты
[02:12:32] gds вышел(а) из комнаты: Replaced by new connection
[02:12:33] gds вошёл(а) в комнату
[03:03:56] zert вышел(а) из комнаты
[05:46:39] komar вышел(а) из комнаты: Replaced by new connection
[05:46:39] komar вошёл(а) в комнату
[07:46:34] iNode вошёл(а) в комнату
[09:38:17] <bobry> %)
[10:15:03] ftrvxmtrx вышел(а) из комнаты
[10:19:42] ygrek вошёл(а) в комнату
[10:19:58] ygrek вышел(а) из комнаты
[10:28:14] <f[x]> Typhon: есть, в unstable
[11:08:32] Typhon вошёл(а) в комнату
[11:09:23] ftrvxmtrx вошёл(а) в комнату
[11:49:55] Kakadu вошёл(а) в комнату
[11:50:17] zert вошёл(а) в комнату
[11:55:00] <gds> касаемо парвела думаю вот про передачу ошибок процессов (т.к. понадобилось то, что в эрланге называется "монитор", и процессы, очевидно, могут выйти нормально, а могут сфейлить).  как вариант -- type process_exit_status = [ Normal | Error of process_error ] and process_error = exn.  Но есть вероятность, что эту шнягу захочется использовать через сеть, а исключения не маршалятся.  Может type process_error = [ Exn of exn | Exn_string of string ], где второе будет в случаях, когда нужно передать это дело по сети -- хоть какая-то причина да передастся.  А первое, ясное дело, для "внутри процесса", чтобы по этим исключениям матчинг делать, ну может какие-нибудь post-mortem значения носить ими.  Как думаете?
[12:04:20] <gds> (замечу, это не относится к "серверам", которые возвращают значения произвольных типов, с нужной сериализацией (в будущем), и в которых я прописал, что ошибки всегда возвращаются в виде строк, в худшем случае через Printexc.to_string от исключения.)
[12:21:10] ermine вошёл(а) в комнату
[12:23:36] <Kakadu> никто не знает как в цигвине называется что-то типа libstdc++.so ?
[12:27:09] <f[x]> зачем?
[12:27:12] <f[x]> -lstdc++
[12:27:16] <f[x]> и компилятор разберётся
[12:32:02] <Kakadu> спасиба
[12:41:05] <Kakadu> чтобы работало падвендой мне лучше брать cmake или oasisоподобное что-то?
[12:44:47] <f[x]> чтобы что работало?
[12:46:28] <Typhon> Kakadu: не использоваться баш-трики , если ты про сборку. бери оазис, потому что это правильно.
[12:46:38] <gds> > "Our API allows workers to notify the caller with intermediate results
and progress feedback"
вот гады.  надо как-то передрать.
[12:47:04] <Kakadu> ОК, поковыряюсь с оазисом
[13:08:11] <Kakadu> сишечка эта какая-то бугагашенька
[13:09:02] <Kakadu> Задачка
  char *sg = String_val(signal);
  char *sl = String_val(member);
  const char *loc2 = (QString("1")+QString(sl)).toStdString().c_str();
  const char *loc1 = (QString("2")+QString(sg)).toStdString().c_str();
[13:09:28] <Kakadu> вопрос: совпадают ли строки loc2 и loc1?
[13:12:23] <Typhon> так это плюсцы какие-то, а не сишечка!
[13:12:34] <zert> кутесцы
[13:13:08] <gds> уже кутесцу.
[13:16:24] <f[x]> французы ****
[13:16:55] <f[x]> виндовые makefile'ы ни хрена не синхронизированы
[13:17:03] <f[x]> повбывав бы
[13:17:11] <f[x]> нафига вообщеш было разделять - непонятно
[13:17:22] <gds> дык.  я патчил немеряно в своё время, когда 3.12 собирал.
[13:17:39] <f[x]> а в апстрим?
[13:17:39] <gds> разделять -- для msvc, ясное дело.
[13:17:59] <f[x]> ну там тех мест где есть разница - на пальцах одной руки
[13:18:00] <gds> типа "а в рыло?"?  не, сначала надо было удостовериться, что всё работает.
[13:18:26] <f[x]> вообще имхо всё if'ам разруливается на ура
[13:18:44] <gds> так вот, удостоверялся, сломался где-то, появились более важные дела, забил.
[13:25:16] <f[x]> надо блин брать бинарные билды под винду в свои руки и травить апстрим патчами
[13:25:50] <f[x]> что два года назад, что сейчас - как ни попробуешь собрать - какие-то косяки, каждый раз новые
[13:26:02] <gds> спамфильтр настроят и всё :)
[13:33:14] <f[x]> > make[1]: *** No rule to make target `all-', needed by `all'.  Stop.
в транке по-другому поломали
[14:13:57] <f[x]> в idl можно ли задать кастомный mlname для типа struct?
[14:16:53] <gds> только пробовать надо.  лично я давно ковырял.
[16:07:14] ftrvxmtrx вышел(а) из комнаты
[16:21:27] <Typhon> вести с полей: http://thinkocaml.com <http://thinkocaml.com/>
[16:22:30] <bobry> nice
[16:22:48] <bobry> Typhon, я могу на примере убунты / дебиана описать getting started, только без oasisa
[16:22:52] <bobry> нуна?
[16:23:03] <bobry> c oasisом пока сам не ковырялся
[16:24:32] <f[x]> давай
[16:24:37] <Typhon> конечно
[16:24:45] <Typhon> дальше кто знает — добавит
[16:25:08] <f[x]> верблюд зачётный
[16:25:41] <bobry> еще бы книжку в epub'e :)
[16:27:28] <Typhon> bobry: а ты умеешь конвертить? или отпиши им письмо, я думаю TeX -> epub конвертеры есть
[16:27:46] <bobry> я не умею, но из теха по моему можно
[16:28:12] <bobry> там правда есть html, из него тоже можно получить какой никакой результат
[16:39:19] <Kakadu> ссылки на такие книги надо где-то в вики записывать
[16:50:59] <f[x]> вообщем если кто хочет затестить ocamlpro бинарники - их есть у меня
[16:52:00] <f[x]> под винду -> http://build.ygrek.org.ua/jenkins/job/ocaml-pro/label=qemu-i386-win2k/
[16:52:20] <bobry> offtop: а почему бы не пользовать обычную gh вики?
[16:54:00] <f[x]> https://github.com/OCamlPro/ocaml-reentrant
[16:55:27] <Typhon> bobry: а она какая-то гейская
[16:55:42] <bobry> да вроде нормальная, тот же md
[16:56:03] <Typhon> f[x]: реентрант, это типа для того, чтобы в одном процессе несколько райнтаймов пускать?
[16:56:26] <Typhon> Kakadu: OcamlFAQ страница, кажется, там ссылки на книги есть, можно туда добавить, или отпочковать в отдельную статью с книгами
[16:56:26] <f[x]> по ссылкам не ходим, да?
[16:56:50] <Typhon> наоборот :-), но до ридми не докрутил
[16:58:11] <bobry> просто в вики можно было бы держать тексты, а в самом репозитории может examples
[17:00:54] <bobry> руками проставлять дату последней правки файла и руками генерить алфавитный список статей это как то не кошерно
[17:01:56] <Typhon> дату последней надо убирать %) это осталось от муамуа
[17:02:16] <f[x]> bobry: это будет слишком удобно и кто же после этого захочет писать тру камль вики движок?
[17:03:01] <bobry> good point
[17:09:37] iNode вышел(а) из комнаты
[18:32:54] Kakadu вышел(а) из комнаты: Replaced by new connection
[18:32:55] Kakadu вошёл(а) в комнату
[18:48:55] Kakadu вышел(а) из комнаты
[18:56:55] komar вышел(а) из комнаты: Replaced by new connection
[18:56:56] komar вошёл(а) в комнату
[19:09:01] zert вышел(а) из комнаты
[19:14:27] zert вошёл(а) в комнату
[19:33:53] Kakadu вошёл(а) в комнату
[19:35:09] Kakadu вышел(а) из комнаты
[19:35:47] Kakadu вошёл(а) в комнату
[20:21:55] Typhon вышел(а) из комнаты
[20:31:12] <bobry> а где нибудь имеется changelog для 3.12? что то не могу нагуглить
[20:38:45] <gds> bobry: по идее, они их ведут в самом проекте, причём наиболее точные именно там.  latest sources -> svn+web -> trunk -> changelog.  Как-то так, по идее.
[20:39:21] <bobry> я вот такой нашел пока что http://caml.inria.fr/ocaml/release.en.html
[20:47:10] <gds> а у меня интересное.  Впрочем, вытекающее из стиля разработки парвела.  Захотел параллельно-запускающиеся процессы с ограничением количества -> захотел следить за выходящими процессами тоже, не только за "серверами" -> понадобилось что-то типа эрланговского monitor -> (куча сломанных/изменённых типов) -> понадобилось сообщение процессам типа `Exited of что-то and process_exit_status -> понадобилась обработка сообщения другими, уже написанными процессами-серверами, причём кое-где даже сознательная, например в "диспетчере", который по ключу и соответствиям "ключ => процесс" определяет, кому отправить сообщение -> понадобилось вычёркивать процессы, чей ключ ничему более не соответствует -> понадобилось идентифицировать процессы -> понадобился pid.  Вот так.  Статическая типизация заставила меня ввести пиды, хочу я того или не хочу.
[20:57:05] <Kakadu> bobry: changelog железно есть в исходниках
[21:35:00] <bobry> ох, как же findlib то к Hello World привязать :)
[21:35:40] <bobry> разве что про toplevel directives и #require можно упомянуть
[21:37:17] <gds> bobry: "а вот если бы вы хотели собрать hello world с поддержкой lwt и с нашим фирменным myocamlbuild.ml, то _tags выглядел бы как "<**/*> : pkg_lwt" "
[21:37:58] <bobry> если честно я сам с трудом понимаю смысл этой фразы :)
[21:39:41] <gds> а про ocamlbuild в курсе в среднем?
[21:42:06] <bobry> пока еще нет
[21:46:47] <gds> если в общих чертах, то есть механизм тегов, есть пользовательские теги в файлах _tags, есть myocamlbuild.ml с поддержкой findlib (где тег "pkg_xxx" позволяет работать с findlib-пакетом "xxx"), и вот оно всё как-то взлетает.
[21:52:17] <bobry> т.е. с помощью findlib я могу генерить теги для пакетов разбросанных по всему OCAMLPATH?
[21:54:23] <gds> по-другому.  findlib -- база, с его помощью держим пакеты (ocamlfind install / list / query / remove), а ocamlbuild обучили использовать эти пакеты, как бы добавляя опции -package xxx и где надо -linkpkg.
[21:55:00] <gds> а теги -- это локальная для программы штука, которая говорит, как и что компилировать/линковать, но более кошерно, чем makefile.
[21:55:24] <bobry> вот оно что, я почему то на альтернативу gtags подумал
[21:56:15] <gds> о, я узнал про gtags.
[21:56:22] <bobry> :)
[21:56:37] <bobry> как ты используя emacs их пропустил?
[21:57:35] <gds> а емаксом только камло / тексты пишу в основном.  и в последнее время сишечьку реденько и не в таких объёмах, чтобы tags вообще были нужны.  но случаи разные бывают.
[22:10:09] ftrvxmtrx вошёл(а) в комнату
[22:13:18] <Kakadu> bobry: что ты имел ввиду когда писал gpg -a --export 49881AD3 | sudo apt-key add -
[22:13:21] <Kakadu> ,
[22:13:23] <Kakadu> /
[22:13:31] <Kakadu> ?
[22:15:22] <bobry> Kakadu, ну для репозитория надо же ключик добавить
[22:16:50] <bobry> apt-key по идее умеет сразу с сервера их тянуть, но у меня почему то не заработало
[22:25:44] <Kakadu> bobry: я спрашиваю потому что у меня это не работает
[22:26:13] <bobry> хмм
[22:26:57] <Kakadu> $ gpg -a --export 49881AD3
gpg: WARNING: nothing exported
[22:27:00] <bobry> черт, и вправду я что то странное написал, секунду
[22:42:29] ygrek вошёл(а) в комнату
[23:51:05] zert вышел(а) из комнаты
[23:56:59] zert вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!