Home
Objective Caml
ocaml@conference.jabber.ru
Суббота, 20 апреля 2013< ^ >
f[x] установил(а) тему: OCaml / ОКэмл / Камль -- http://ocaml.org/ | Камло - http://camlunity.ru/ | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв и тормозит, move on | stdlib only? - ССЗБ | Fight FUD with fire | Мойте руки перед чатом | KEEP CAML AND CURRY ON | F#, Coq - де-факто онтопик
Конфигурация комнаты
Участники комнаты

GMT+4
[00:17:34] Kakadu вышел(а) из комнаты
[00:18:55] UncleVasya вышел(а) из комнаты
[01:27:11] tilarids вышел(а) из комнаты: Computer went to sleep
[02:49:14] tilarids вошёл(а) в комнату
[03:16:21] tilarids вышел(а) из комнаты: Computer went to sleep
[05:46:47] tilarids вошёл(а) в комнату
[06:50:44] ermine вошёл(а) в комнату
[07:36:52] tilarids вышел(а) из комнаты
[07:37:41] tilarids вошёл(а) в комнату
[07:40:37] tilarids вышел(а) из комнаты
[08:05:05] tilarids вошёл(а) в комнату
[09:35:28] tilarids вышел(а) из комнаты: Computer went to sleep
[10:10:52] f[x] вошёл(а) в комнату
[10:20:15] UncleVasya вошёл(а) в комнату
[10:37:56] f[x] вышел(а) из комнаты
[11:01:13] debasher вошёл(а) в комнату
[11:25:14] Kakadu вошёл(а) в комнату
[11:46:36] debasher вышел(а) из комнаты
[11:47:05] oln вошёл(а) в комнату
[11:47:24] <oln> Здравствуйте.
[11:49:38] <oln> Начал на днях смотреть Ocaml, вот не понял момент: как будет выглядеть, например, рекурсивная функция, которая выводит входной параметр i и вызывает себя c i+1? Ну простейшая задачка
[11:50:13] <Kakadu> let rec f i = print_int i; f(i+1);;
[11:51:07] <oln> а, ах вот почему там двойные ;;, а про назначение ; я и не знал %) Спасибо.
[11:51:24] <Kakadu> двойные  --- они для топлевела
[11:52:55] <oln> Надо же, какой большой в окамле стек %)
[11:53:14] <Kakadu> Он даже не расходуется тут
[11:53:22] <Kakadu> вроде бы
[11:53:24] <oln> ээ
[11:53:27] <oln> а
[11:53:35] <oln> это хвостовая рекурсия получается?
[11:53:37] <Kakadu> угу
[11:53:45] <oln> отлично
[11:54:41] <oln> ага, сделал
let rec f i = print_int i; f(i+1); print_string("\n");;
f(1)
сказал
Stack_overflow
[12:10:11] f[x] вошёл(а) в комнату
[12:46:02] <f[x]> oln: только не цепляй скобки к имени функции
[12:46:18] <f[x]> f (i+1); print_string "\n"
[12:46:24] <f[x]> f 1 а не f(1)
[12:48:24] <oln> f[x]: ага, прочитал уже об этом минут 20 назад :)
[12:58:01] f[x] вышел(а) из комнаты
[13:03:13] UncleVasya вошёл(а) в комнату
[13:07:10] UncleVasya вышел(а) из комнаты
[15:18:10] UncleVasya вышел(а) из комнаты
[15:20:11] komar вышел(а) из комнаты
[15:20:55] komar вошёл(а) в комнату
[15:25:45] UncleVasya вошёл(а) в комнату
[15:49:25] <oln> а есть для ocaml менеджеры управления версий? типа как rvm для ruby.
[15:50:28] <gds> oln: говорят, opam умеет подобное.  Но я его не использовал пока, поэтому помочь не смогу, в случае чего.
[15:50:43] <oln> gds: щас как раз собираю opam :)
[15:51:27] <gds> кстати, заодно расскажи, так ли он хорош, как его пеарят.  По идее, должен быть хорош.
[15:59:17] komar сейчас разобьет хинкпад.
[15:59:48] <gds> кому?
[16:00:49] <komar> gds: хочешь посмотреть прототип нормального пакетного менеджера — посмотри на nix. А опамы, эрвээмы, гемы, кабалы и прочая фигня — говно для языковых фашистов.
[16:01:25] <komar> Все работает хорошо до тех пор, пока у тебя проект написан исключительно на одном языке.
[16:02:34] <oln> komar: а чем плох gem?
[16:02:45] <komar> oln: поставь биндинги к imagemagick.
[16:04:06] <komar> Олсо:
% du -ch .rvm
1.4G    total
komar@thinkpad /home/komar % find .rvm | wc -l
83099
[16:05:00] <oln> можно rm .rvm/src/ -fr, например
[16:05:05] <oln> */
[16:05:20] <komar> Там 166M.
[16:05:53] <oln> du -shc .rvm
442M    .rvm
442M    итого
[16:06:00] <oln> komar: значит много гемов стоит
[16:06:04] <oln> или версий руби
[16:06:38] <komar> Меня убивает сама идея ставить в ~ вторую систему для сраного руби.
[16:07:23] <oln> Что значит "вторую"? А где первая?
[16:07:29] <komar> Первая в /
[16:07:45] <oln> а зачем она там нужна, если уже есть rvm?
[16:07:56] <komar> Действительно.
[16:08:09] <komar> Когда там уже ядро на руби перепишут?
[16:08:27] <oln> мне не приходили в голову такие бредовые мысли
[16:08:39] <komar> Ладно, закрыли срач.
[16:10:47] <oln> komar: не знаешь как с помощью opam сам ocaml поставить? :) не хочу просто его в /, хочу в ~, всё таки так удобнее имхо
[16:12:14] UncleVasya вышел(а) из комнаты
[16:12:22] <komar> Сделай chown -R oln /
[16:12:26] <komar> Так удобнее, имхо.
[16:12:45] <oln> ясно
[16:15:41] <gds> oln: опам точно умеет ставиться в ~/, а в / ставить -- дело системного пакетного менеджера.
[16:16:52] <oln> gds: да он уже поставился туда, и либы я для попробывать поставил :) Я хочу сам окамл в хоме
[16:17:26] <gds> вроде он и это умеет.
[17:31:16] komar вышел(а) из комнаты: Replaced by new connection
[17:31:20] komar вошёл(а) в комнату
[18:20:55] Typhon вошёл(а) в комнату
[18:47:09] komar вышел(а) из комнаты
[18:57:00] komar вошёл(а) в комнату
[19:00:20] gds вышел(а) из комнаты: Replaced by new connection
[19:00:22] gds вошёл(а) в комнату
[19:16:10] tilarids вошёл(а) в комнату
[19:22:57] <gds> http://stackoverflow.com/questions/16115815/ackermann-very-inefficient-with-haskell-ghc , окамловское решение использует туплы.  Переписал на http://paste.in.ua/8213/ -- стало тормознее на 20%.  Как это?
[19:24:27] f[x] вошёл(а) в комнату
[19:24:59] komar вышел(а) из комнаты
[19:31:54] tilarids вышел(а) из комнаты: Computer went to sleep
[19:36:57] <Kakadu> gds: наверное потому, что в камлёвом рантайме эта функция вертится в некаррированном виде
[19:37:37] <gds> Kakadu: везде полные применения, откуда карринг?
[19:37:59] <gds> тем более, ocamlopt должен это оптимизировать.
[19:38:28] <Kakadu> Вроде у JS была статься про это
[19:40:11] <gds> помню.  Применил трюк "(); тело" -- стало не быстрее.
[19:40:41] <gds> вообще, микробенчмарки меня не привлекают, но принцип понять было бы интересно.
[19:40:55] <Kakadu> я хз тогда
[19:48:35] tilarids вошёл(а) в комнату
[19:51:12] Typhon вышел(а) из комнаты
[19:51:23] Typhon вошёл(а) в комнату
[19:59:05] tilarids вышел(а) из комнаты: Computer went to sleep
[20:34:39] komar вошёл(а) в комнату
[20:37:50] oln вышел(а) из комнаты
[20:43:47] <komar> gds: у меня оба варианта работают одинаковое время.
[20:44:05] <gds> компилировал через ocamlopt?
[20:44:07] <komar> Да.
[20:44:20] <komar> 3.11.2, гы-гы.
[20:44:33] <gds> 3.12.1.  Тоже старьё.  Надо на 4 проверять.
[20:45:14] <komar> Олсо, переписал на if’ах.
[20:45:15] <komar> То же самое.
[20:45:26] <komar> Какие ваши доказательства?
[20:46:02] <gds> ты пра чо?
[20:46:51] <komar> > Переписал на http://paste.in.ua/8213/ -- стало тормознее на 20%
[20:47:04] <komar> У меня три варианта работают одни и те же семь секунд.
[20:47:25] tilarids вошёл(а) в комнату
[20:47:27] <komar> (у меня цоре2дуо, ага)
[20:48:53] <gds> http://paste.in.ua/8214/
[20:50:07] tilarids вышел(а) из комнаты
[20:50:12] <gds> у меня "Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz", 64-битная ос+окамл.
[20:51:53] <komar> Ох.
[20:53:24] <komar> Боже.
[20:53:35] <gds> да, я слушаю.
[20:56:31] <komar> Да, все правильно, я тормоз и умудрился криво замерить.
[21:01:47] Typhon вышел(а) из комнаты
[21:25:08] f[x] вышел(а) из комнаты
[23:20:07] ermine вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!