Home
Objective Caml
ocaml@conference.jabber.ru
Вторник, 5 июля 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:20:07] gds вышел(а) из комнаты
[00:48:30] Typhon вошёл(а) в комнату
[00:55:35] ermine вышел(а) из комнаты
[02:50:50] Typhon вышел(а) из комнаты
[03:40:26] zert вышел(а) из комнаты
[08:18:18] komar вышел(а) из комнаты: Replaced by new connection
[08:18:18] komar вошёл(а) в комнату
[08:36:33] <bobry> f[x]: спасибо, что то меня вчера заклинило с domом :)
[09:00:47] gds вошёл(а) в комнату
[09:34:24] bobry- вошёл(а) в комнату
[10:24:05] ermine вошёл(а) в комнату
[11:08:40] klapaucius вошёл(а) в комнату
[11:10:57] zert вошёл(а) в комнату
[11:21:13] <bobry-> камловский хугл выглядит каким то недоделаным
[11:21:22] <bobry-> "many standard O'Caml libraries <http://search.ocaml.jp/?available>" == StdLib + ExtLib ...
[11:25:44] gds вышел(а) из комнаты: Replaced by new connection
[11:25:45] gds вошёл(а) в комнату
[11:53:20] avysk вошёл(а) в комнату
[11:58:10] ftrvxmtrx вышел(а) из комнаты
[12:09:10] <f[x]> интересно, какой смысл был тестить rc1 если все баги всё равно проигнорили?
[12:09:58] <gds> +1
[12:12:15] Typhon вошёл(а) в комнату
[12:26:58] <f[x]> >  The native Win32 port built with Mingw
>     NOTE: Due to changes in cygwin's compilers, this port is not available
>       in OCaml 3.12.1.  A patch will be made available soon after the release
>       of 3.12.1.
[12:27:01] <f[x]> ы??
[12:27:10] <f[x]> умвр
[12:27:38] <gds> поглядим, тоже стало интересно.
[12:29:18] <gds> кстати, какой есть софт, использующий lablgtk2?
[12:29:30] <f[x]> mldonkey
[12:29:34] <f[x]> unison
[12:31:03] <gds> понял, буду пробовать их.  хочу гтк обновить в оверблд, надо потестить.
[12:36:08] gds вышел(а) из комнаты
[12:37:28] gds вошёл(а) в комнату
[12:43:04] gds вышел(а) из комнаты: Replaced by new connection
[12:43:05] gds вошёл(а) в комнату
[12:50:33] ftrvxmtrx вошёл(а) в комнату
[13:56:19] gds вышел(а) из комнаты
[14:01:15] komar вышел(а) из комнаты
[14:04:28] komar вошёл(а) в комнату
[14:22:48] komar вышел(а) из комнаты
[14:24:44] komar вошёл(а) в комнату
[14:29:01] <bobry-> товарищи, а что есть оператор в камле?
[14:29:17] <bobry-> почему я не могу объявить инфиксный оператор foo например?
[14:29:26] <bobry-> хотя в stdlib имеет land / lor etc
[14:31:57] <ftrvxmtrx> http://caml.inria.fr/pub/docs/manual-ocaml/expr.html#toc51
[14:32:57] <bobry-> мерси, видимо плохо гуглил
[14:33:04] <bobry-> обидно что land и компания -- исключения
[14:51:59] gds вошёл(а) в комнату
[14:52:59] <gds> bobry-: тут либо camlp4, либо трюк с "/*foo*/" (ну или "/* foo */"), ну может ещё какой синтаксис можно выдумать.
[14:53:30] <bobry-> да я тоже на camlp4 подумал, просто интересно нафига они захардкодили эти операции
[14:53:43] <bobry-> почему бы не скрасть из хацеля `` хотя бы
[14:53:49] <bobry-> *хацкеля
[15:00:32] <gds> потому что ` использовано для других целей.
[15:00:46] <gds> а инфиксные функции вообще усложняют чтение кода.
[15:02:07] <gds> захардкодили -- чтобы код с | и & можно было переписывать втупую, наверное.
[15:14:16] <f[x]> потому что камло это глобально и надёжно и спагетти-перловка код не поощряется
[15:16:27] <bobry-> :)
[16:55:16] <klapaucius> "инфиксные функции вообще усложняют чтение кода" Поэтому самый популярный язык программирования - лисп.
[17:10:27] komar вышел(а) из комнаты: Replaced by new connection
[17:10:27] komar вошёл(а) в комнату
[18:41:49] digimmortal вошёл(а) в комнату
[19:50:47] bobry- вышел(а) из комнаты
[20:01:23] zert вышел(а) из комнаты
[20:09:38] zert вошёл(а) в комнату
[20:20:14] Typhon вышел(а) из комнаты
[20:24:50] <digimmortal> http://book.pdfchm.net/functional-and-logic-programming-10th-international-symposium-flops-2010/9783642122507/
[20:26:41] <digimmortal> Олег в своей статье в сборнике по ссылке утверждает: This library shows that delimited control can be implemented efficiently (without copying the whole stack) and non-invasively in a typed language that was not designed with delimited control in mind and that offers no compiler plug-ins or run-time extensions beyond a basic foreign-function interface.
[20:26:49] <digimmortal> вот так вот
[20:28:55] <f[x]> так эмпирическое доказательство --> delimcc
[20:29:50] <digimmortal> это утверждение слишком брутально для меня
[20:30:16] <digimmortal> можешь перефразировать для программистов на C#?
[20:30:53] <f[x]> существует delimcc библиотека для ocaml
[20:31:32] <f[x]> которая реализует call/cc и удовлетворяет описанным выше ограничениям
[20:31:33] <ermine> в этой фразе два слова надо бы поменять местами
[20:31:56] <digimmortal> f[x]: ну да
[20:32:15] <f[x]> ermine: фортерам не менять можно
[20:32:54] avysk41320 вошёл(а) в комнату
[20:33:23] avysk вышел(а) из комнаты
[20:33:24] <ermine> f[x]: а форт еще жифф?
[20:33:38] avysk41320 вышел(а) из комнаты
[20:33:46] <f[x]> в наших сердцах
[20:35:13] ermine погрозила пальчиком в сторону gds из-за функции is_space
[20:37:56] <gds> ermine: is_space разные {нужны,важны}.
[20:39:50] <ermine> gds: я тут искала багу у себя - заюзала is_space, думая, что я его уже где-то определила в том смысле, что пробелы - это пробелы и табы, и потом удивлялась, почему моя программулька парсит вовсе не то
[20:40:33] <ermine> предлагаю облагородить итераты до голых костей и вынести жир в отдельный модуль
[20:46:06] <gds> ermine: пока что спрячу is_space.
[20:46:57] <ermine> gds: и enum_words, и прочее случаи использования итератов!
[20:47:44] <gds> тогда потеряется часть документации, которая привязана к коду и многое объясняет.
[20:48:25] <ermine> хы
[20:49:19] <gds> пушнул на форж/битбакет, погляди.
[20:50:06] ermine дернула
[20:50:46] <ermine> а у меня щас тупняк - как культурно реагировать на EOF
[20:51:33] digimmortal вышел(а) из комнаты
[20:51:39] <gds> расписывай, вероятно подскажу.
[20:53:16] <ermine> итерат, который сам обрабатываает всю строку включая \n, надо запустить этот итерат в цикле, чтобы прочел весь файл и получить таким образом список результатов
[20:54:35] <ermine> если в лоб - надо в таком цикле самому обнюхивать, не вышел ли EOF, прежде чем запустить итерат
[20:54:45] <ermine> а вот вопрос, культурно ли это
[20:57:05] <bobry> ауч, неужто блог janestreet не на камле http://ocaml.janestreet.com/?q=node/23
[20:58:56] <ermine> а сайт www.ocaml.org?
[21:01:01] <bobry> там только статика вроде как
[21:06:01] <gds> ermine: если бы я делал, то сделал бы так: взял бы
enum_lines : enumeratee char string 'a
из iteratees_http.ml, и кормил бы итерат "I.joinI (enum_lines stream2list)", который возвратит как раз список строк.
[21:08:08] <ermine> gds: вот это нехорошо, что ты внутреннему итерату скармливаешь строку, а не чанк
[21:08:26] <ermine> а джойнилку я еще не осилила
[21:08:51] <gds> enum_lines таков, что строкой кормит.  Можно и чанком кормить, но чуть хитрее.
[21:11:25] <ermine> и чем помечать конец чанка? посылать еоф внутреннему итерату?
[21:12:08] <gds> если он ещё не кончил -- разумеется!
[21:12:33] <ermine> вот ужос-то
[21:12:35] <gds> представь, что внутренний итерат у тебя -- "читать всё в строку".  Понятно, что "сколько волка не корми", без EOF он не даст.
[21:12:51] <ermine> срать еофом в подобных случаях на всех этажах, мнээ
[21:13:09] <gds> не срать, а какать.  Ну, как бабочками.
[21:13:18] <ermine> а вообще я так и сначала делала, но потом чего-то испугалась
[21:14:07] <gds> а хрен знает, как по-другому сделать нормально.
и, кстати, что-то не нравится в том, чтобы давать вложенному итерату свой же чанк.  Вроде с точки зрения логики всё ок, но надо подумать.  С другой стороны, копирование явно не нужно.
[21:18:10] <ermine> да тут еще проблема в оверхеде
[21:18:40] <ermine> сначала строку перегоняем в массив, чтобы потом содержимое массива перегнать в строку обратно как в enum_lines
[21:19:13] <ermine> как-то стра(ш|н)но всё это
[21:19:46] <ermine> поэтому опять вякну в сторону модулизации subarray
[21:20:10] <gds> ну как сказать -- если нужна именно строка, то enum_lines бери.  Иначе -- действительно с чанками работать надо.
[21:22:20] <ermine> еще в subarray есть оверхед - там проверки границ в каждой функции и на каждый чих, и это -unsafe не сооптимизируешь
[21:23:32] <gds> не на каждый чих.  Тем не менее, посмотри на String.blit какой-нибудь -- там тоже проверки границ даже в -unsafe.
[21:24:48] <ermine> хех
[21:30:19] <ermine> gds: кста, несмотря на любовь к документации в итератах, enum_lines это не помешало переехать в другой файл
[21:31:21] <gds> как это нелюбовь?  Люблю я её.  Кстати, не помню, что заставило выделить часть в iteratees_http.ml.
[22:10:21] ftrvxmtrx вышел(а) из комнаты
[22:10:59] abiogenesis вошёл(а) в комнату
[22:44:11] avysk вошёл(а) в комнату
[22:44:14] avysk вышел(а) из комнаты
[23:03:53] ftrvxmtrx вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!