Home
Objective Caml
ocaml@conference.jabber.ru
Среда, 27 октября 2010< ^ >
ygrek установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся! | release crap | judge by commits, not comments | ocaml мёртв и не нужен, move on
Конфигурация комнаты
Участники комнаты

GMT+4
[00:00:00] <myxomop87> да, разобрался, спасиб
[00:00:06] <ermine> если она собирается, то да
[00:00:08] <myxomop87> надо было _ на . заменить
[00:00:22] <Typhon> "и не нужен" в топике лишний, по-моему -- фраза длинной получилась
[00:00:31] <komar> myxomop87: да не, давай мы тебе лучше расскажем. Вот ты что на нем делать собрался?
[00:00:44] ygrek установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся! | release crap | judge by commits, not comments | ocaml мёртв, move on
[00:00:52] <myxomop87> ээ.. давайте, расскажите :)
[00:00:55] ygrek балуется
[00:01:01] <ermine> komar: а он уже рассказал, зачем ему оксиген?
[00:01:05] <komar> Нет.
[00:01:14] <komar> Сейчас расскажет, я думаю.
[00:01:38] <ermine> давай лучше послушаем :)
[00:01:51] <ermine> а потом посмеемся и покритикуем
[00:01:57] <myxomop87> мне вообще в целях хобби :)
[00:02:19] <komar> Вот если бы мне в свое время кто-нибудь рассказал, что нефиг лезть в сериализацию xhtml'а, а надо прикручивать темплейты, то я бы «спасибо» сказал.
[00:02:24] <ermine> блоггинг чоль?
[00:02:25] <ygrek> komar: ты злоупотребляешь знаками препинания и строчными буквами
[00:02:30] <komar> myxomop87: ну, в целях хобби лучше ничего не найти.
[00:02:36] <komar> Нахоббишься от души.
[00:02:39] <myxomop87> планирую переписать свой проект на перле и потом посмотреть как будет намного ли шустрее
[00:02:58] <komar> ygrek: ну, у меня привычка такая. Меня забанят?
[00:03:13] <Typhon> ясен пень, что темплейты нужны
[00:03:20] <Typhon> если не хочешь сам писать морду %)
[00:03:28] <ermine> ygrek: набор с елефона детектед
[00:03:42] <ygrek> komar: живи пока :)
[00:04:03] <ygrek> а что темплейты? движка-то живого всё равно нет
[00:04:16] <ygrek> вон форки только всякие, а мейнтейнер в ус не дует
[00:04:51] <komar> Если бы я написал свой велосипед, то это было бы уже неплохо.
[00:05:00] <komar> В смысле, мне бы этого хватило.
[00:05:19] <ermine> я вот чую, что оксиген еще долго корежить будут - выкинули obrowser например, а js_of_ocaml недотягивает до ocamljs
[00:05:29] ygrek интересуется в смысле насколько CamlTemplate юзабельно?
[00:05:38] <komar> А сейчас передо мной стоит философская проблема «как вкатить строку с HTML'ем унутрь ocamlduce'овского типа».
[00:05:48] <ygrek> ermine: ну так пионерская поделка, ломать не строить
[00:05:49] Typhon юзал CamlTemplate, не жалуется
[00:05:54] <komar> ermine: а obrowser разве был юзабельным?
[00:06:02] <ermine> сам lwt тоже корежат так, что будь здоров, и интересно, как под него будут подгонять оксиген
[00:06:15] <komar> Правильно делают, что корежат.
[00:06:23] <komar> Нечего из даркса обновлятся просто.
[00:06:58] <ermine> komar: проще из даркса обновлять, чтобы потом не рыдать, переписывая свой сцайт под новый релиз
[00:07:11] ygrek юзает xhtml и unsafe касты строк там где лень или нельзя type-safe
[00:07:57] <ermine> ocamlduce тоже не нужен, оно давно не развивается уже
[00:08:03] <ygrek> Typhon: а оно умеет автоматически escape'ить подставляемые значения?
[00:08:33] <Typhon> html-entity смысле? хз, я не хтмл генерировал :)
[00:08:34] <komar> Вот, кстати. Ба-а-альшой плюс оксигена в том, что все можно собрать в один ба-а-альшой бинарь, залить его на сервер и не париться с зависимостями. И можно писать дальше под старые api.
[00:08:56] <komar> ermine: ну, у меня тоже было «для хобби», поэтому решил взять чего-нибудь покруче.
[00:09:11] <ygrek> мда, проблема-то в том что оно должно знать когда как escape'ить, так что вряд-ли
[00:09:16] <komar> К тому же на ocsigen.org было написано, что это XHTML.M не развивается, а ocamlduce наше всио.
[00:09:22] <ygrek> надо будет пощупать
[00:09:31] <ermine> komar: я предпочитаю релоадить cma/cmxs
[00:10:03] <ygrek> видел недавно обновления в xhtml.m
[00:10:05] <Typhon> ygrek, ну либо всегда эскейпить и по запросу -- не эскейпить, либо наоборот :)
[00:10:41] <ygrek> ну и escape'ы разные бывают, там url, там html, там js, etc
[00:11:12] <ygrek> тут только какой-нибудь megaduce только справится
[00:11:54] <ermine> xhtml не нужен
[00:12:08] <ermine> все браузеры давно парсят по понятиям
[00:12:09] <komar> url генерятся с помощью оксигеновых функций, эскейпинг js не поддерживается.
[00:12:33] <ygrek> komar: это ты про *duce?
[00:12:38] <komar> Да.
[00:12:42] <ygrek> ясно
[00:13:34] <ygrek> кстати эти понятия формализовали в html5, хоть садись и пиши свой браузер :)
[00:13:42] <ermine> кажется, тут все откусили по кусочку собаки на оксигене
[00:13:49] <myxomop87> да, днем я тестил байткодовый оксиген, натинвый выдал 3000 запросов в секунду
[00:13:58] <ermine> никакой другой софт этим похвастаться не может
[00:14:04] <ygrek> ну хоть что-то (всё равно мало)
[00:14:27] <ygrek> подставь вместо xhtml camltemplate
[00:14:32] <Kakadu> а 3000 это много?
[00:14:34] <ygrek> прогнозирую 5000
[00:14:35] <myxomop87> гораздо лучше, но до ноды с томкатом все равно не дотянул
[00:14:58] <Typhon> и здесь нода, богородица вернись! :'(
[00:15:00] <ermine> много
[00:15:37] <ermine> надо вставить в страничу печать даты и времени
[00:16:02] ygrek вообще не понимает как люди могут всерьёз писать на js
[00:16:28] <Typhon> ygrek, плюсую.
[00:16:28] Kakadu солидарен
[00:16:36] <ermine> ygrek: а что еще остается?
[00:16:41] <myxomop87> да js это мрак конечно %)
[00:16:45] <ygrek> генерить
[00:16:46] komar писал, тоже не понимает.
[00:16:58] <Typhon> если в браузере -- то это чаще всего шаманство типа "сделай а и найди стотыщ хаков для ие". а на сервере жс даже думать не хочется
[00:17:01] <Kakadu> мне тут один фанат  js сказал что все программы скоро будут на js и буду какчаться из инета и работать в браузере
[00:17:06] <ygrek> выпиливать
[00:17:11] komar кстате похапэ программист с девятого класса.
[00:17:20] <komar> У меня даже в трудовой записи есть.
[00:17:30] <ermine> а vk.com на js написан
[00:17:51] <ermine> вот где всерьез пишут :)
[00:17:55] <Kakadu> ermine: а что это? )
[00:17:57] ygrek выключает js в браузере чтобы авторы сайтов полошились и проверяли свои поделия на без-js-юзабельность!
[00:18:29] <komar> Ребят, давайте про теорию категорий.
[00:18:36] <komar> А то меня детство вспоминать потянуло.
[00:18:52] <Typhon> komar, ну там есть объекты, стрелки, монады и где-то рядом хаскиль валяется
[00:18:52] <ygrek> komar: куда торопишь?
[00:19:21] <ygrek> мы так хорошо плавно подходили
[00:19:35] <komar> Простите, не выдержал.
[00:23:30] <myxomop87> поставил вместо predefmod.Xhtml -> Eliom_predefmod.Text получилось не сильно больше - 3800 запросов
[00:25:12] <ermine> с печатью даты и времени?
[00:26:13] <myxomop87> нет, просто hello
[00:26:30] <myxomop87> я хелловорлды тестировал
[00:27:00] dot вошёл(а) в комнату
[00:27:20] <myxomop87> победили томкат с нодой - они примерно одинаково 5000 запросов/сек выдают
[00:28:04] <dot> добрый вечер, уважаемые
[00:28:23] <myxomop87> правда с ядрами не понятно, у томката оба ядра на 100%, а у оксигена одно 100 и другое 40
[00:28:24] <dot> я хотел бы установить sulci на сервер с CentOS..
[00:28:34] <komar> myxomop87: у оксигена только один тред.
[00:29:19] <myxomop87> ну да, значит эти 40 это что-то другое, может шедулер
[00:29:33] <komar> А бенчмарк у тебя где?
[00:29:41] <myxomop87> в смысле ?
[00:29:47] <komar> Он на другом компьютере?
[00:29:57] <myxomop87> не, все на одном %)
[00:30:01] <dot> но у меня проблема, на http://github.com/ermine/sulci/ не могу найти makefile, а без него сложновато. Многоуважаемая ermine, нельзя ли каким-нибудь образом получить его?
[00:30:27] <myxomop87> да, значит это аб, вот что значит мозги застоялись
[00:32:09] <ygrek> оmfg, пользователь sulci, живой, говорящий
[00:33:04] <ygrek> > у томката оба ядра на 100%
ставь два оксигена и балансируй = 3800*2
[00:33:25] <myxomop87> а чем балансировать ?
[00:33:42] <myxomop87> а, nginxом
[00:33:44] <ygrek> ой, да любым прокси, nginx
[00:34:14] <ygrek> а остальные сколько жрут cpu?
[00:34:15] <myxomop87> а оксиген можно в двух экземплярах запускать ?
[00:35:00] <ygrek> ну наверное, только если это из коробки не предусмотрено то придётся две конфигурации руками делать
[00:35:14] ygrek оксигенов готовить не умеет
[00:35:23] <myxomop87> и на разных портах, но выглядит как некий хак
[00:35:30] bLaDe вошёл(а) в комнату
[00:37:08] <myxomop87> все по макс жрут, нода 90% и тоже одно ядро кстати
[00:37:12] <myxomop87> 99
[00:38:10] <ygrek> ну обычный способ для async серверов (см. тот же nginx), по хорошему ocsigen должен сам уметь воркеров пускать
[00:39:20] <ygrek> dot: насколько я знаю тот код что на github'е ещё не готов, юзай старые версии из svn
[00:40:24] <dot> ygrek, свн (тот что я знаю) лежит ведь. Не сохранилось ли тарболов?
[00:42:24] <komar> myxomop87: вообще, обычно на оксигене запускают что-то потяжелее hello world'а. И это «что-то» можно заныкать в тред и параллелить вычисления таким образом.
[00:42:43] <komar> Я же десятый раз говорю — ты меряешь сфеерических коней.
[00:43:27] <Typhon> btw, про mirage уже видео выложили: http://sna-projects.com/blog/2010/10/mirage/
[00:43:53] <komar> Кстати, кто-нибудь в этот мираж тыкал?
[00:44:14] <ygrek> ну по helloworld цифры получились сравнимые, так что теперь надо мерять что-то потяжелей
[00:44:17] <Typhon> /me только paper читал
[00:44:36] <komar> О, да это же anil!
[00:45:13] <Typhon> чем знаменит он?
[00:45:20] <komar> Рожей.
[00:45:30] <komar> Где я её только в интернете не видел.
[00:45:37] <ygrek> dot: гугл ит
[00:45:48] <ygrek> в портах freebsd может быть?
[00:46:00] <komar> Typhon:  http://www.gravatar.com/avatar/a4fe81907d90ae55d4901645c895dc85?s=140&d=http%3A%2F%2Fgithub.com%2Fimages%2Fgravatars%2Fgravatar-140.png
[00:46:08] <dot> спасибо, поисчем в портах
[00:46:13] arhibot вышел(а) из комнаты
[00:46:21] <Typhon> я не замечал, чот :-)
[00:47:01] <komar> Он еще был в авторах «the forgotten wireless technology», которая сеть через звук.
[00:47:29] <komar> Короче, пацан предельно чоток.
[00:47:59] <ygrek> хм, ещё какие-то форки - http://bitbucket.org/cf8/sulcipp
[00:48:29] <ygrek> это он же dyntype
[00:56:11] <dot> у него зависимостей побольше (внезапно JSON вылез). сейчас попробую
[00:57:05] <ygrek> за что купил за то и продаю
[00:57:50] <myxomop87> да, согласен, томкат и нода они голые вобщем а оксиген уже с eliom, вот на ноду ставлю фреймфорк express.js  и хелловорлд через него выдает уже 3000 в секунду
[00:58:20] <myxomop87> а без фреймфорка его юзать не будешь, разве что совсем простые задачки
[01:06:28] <dot> ygrek, благодарю, данный форк по-видимому заработал.
[01:12:38] ermine вышел(а) из комнаты
[01:13:23] dot вышел(а) из комнаты: offline
[01:24:36] ygrek записыват в cv: саппорт полудохлых камлопроектов
[01:38:00] Kakadu вышел(а) из комнаты
[02:06:34] myxomop87 вышел(а) из комнаты
[02:36:46] Typhon вышел(а) из комнаты
[02:40:52] ygrek вышел(а) из комнаты
[03:18:05] komar вышел(а) из комнаты
[04:18:35] bLaDe вышел(а) из комнаты
[08:59:28] iNode вошёл(а) в комнату
[09:16:47] SerP вошёл(а) в комнату
[09:18:36] SerP вышел(а) из комнаты
[10:17:13] ygrek вошёл(а) в комнату
[10:30:23] ygrek вышел(а) из комнаты
[10:30:26] ygrek вошёл(а) в комнату
[10:42:14] arhibot вошёл(а) в комнату
[10:49:04] arhibot вышел(а) из комнаты: Replaced by new connection
[10:49:05] arhibot вошёл(а) в комнату
[10:54:11] Mon вышел(а) из комнаты
[10:54:42] Mon вошёл(а) в комнату
[10:55:34] serp256 вошёл(а) в комнату
[11:04:38] Mon вышел(а) из комнаты: offline
[11:05:13] Mon вошёл(а) в комнату
[11:15:36] zert вошёл(а) в комнату
[11:19:19] gds вошёл(а) в комнату
[11:26:17] myxomop87 вошёл(а) в комнату
[12:28:52] Typhon вошёл(а) в комнату
[12:29:32] ermine вошёл(а) в комнату
[12:31:55] Kakadu вошёл(а) в комнату
[12:53:17] komar вошёл(а) в комнату
[13:53:34] ʇsʎɯ вошёл(а) в комнату
[13:54:30] ygrek вышел(а) из комнаты: Replaced by new connection
[13:54:31] ygrek вошёл(а) в комнату
[14:02:53] <Typhon> gds: у вики статика отвалилась ( http://gdsfh.dyndns.org/moin_static193/* -- 404)
[14:20:01] komar вышел(а) из комнаты
[14:39:23] <gds> Typhon: пофиксил.  В случае, если что не так, сообщите.  Понятно, причина бага в том, что петон говно :)
[14:39:41] serp256 вышел(а) из комнаты
[15:44:13] Kakadu вышел(а) из комнаты
[15:48:05] Kakadu вошёл(а) в комнату
[15:48:24] myxomop87 вышел(а) из комнаты
[16:13:56] <gds> где бы ocaml-iteratees хостить?  ровно два варианта: bitbucket и ocaml forge.  второе правильнее, но неохота, т.к. будут пялиться и всё такое, а у меня только тестики пока запускаются, т.е. мало что сделано.
про release crap знаю, потому и хочу релизнуть.
[16:14:36] <Typhon> очевидно, остается bb :)
[16:14:42] <zert> а на гитхабе что>
[16:14:43] <zert> ?
[16:15:02] <Typhon> а на гитхабе -- гит
[16:15:05] <gds> zert: на гитхабе не дают меркуриал.
[16:15:12] Typhon сначала опечатался и написал "шит"
[16:15:16] <Typhon> но не специально!
[16:15:20] <zert> дык зачем тебе меркуриал?
[16:15:25] <gds> я же не пионер-линупсоед, чтобы гит пользовать.
[16:15:35] <zert> гг
[16:15:41] <f[x]> gds: ты ещё darcs захоти
[16:15:42] <zert> в гите бранчи есть
[16:15:44] <Typhon> http://gdsfh.dyndns.org/kamlo -- btw, картинка вся не влезает и вокруг неё прокрутка!
[16:15:45] <gds> ну, личные предпочтения.
[16:15:55] <Typhon> zert: http://pqr7.wordpress.com/2010/10/10/a-guide-to-branching-in-mercurial/
[16:15:57] <gds> в меркуриале бранчи есть
[16:16:09] <f[x]> захость репо где попало, а когда будет готово перенесёшь на forge
[16:16:23] <zert> Typhon: да, я читал, именно поэтому и говорю, что в меркуриале их нет
[16:17:05] <f[x]> Typhon: это у тебя монитор 320x200 что-ли? ;)
[16:17:22] <Typhon> не, у меня ща 1680 на что-то там
[16:17:36] <Typhon> она сама не влезает!
[16:18:37] <Typhon> http://dl.dropbox.com/u/7365614/123123123.PNG
[16:20:21] <gds> Typhon: а сейчас?
[16:22:39] <Typhon> gds: оке! %)
[16:23:10] <gds> удивительно.  Указываешь относительный путь -- показывает криво, абсолютный урл -- показывает нормально.  Петон, что ж с него возьмёшь.
[16:29:55] <Kakadu> Вот такой вопрос: как лучше мэтчить строки вида ":show blabla", ":show bla 14", ":q". Мне непонятно как красиво при паттернматчинге извлекать число из строки.
[16:30:49] <Kakadu> возможно, что я просто мало спал и это очевидно, но всётаки
[16:32:33] <gds> сначала бить на токены ocamllex'ом например, затем, если грамматика простая, там же преобразовывать в значения какого-нибудь индуктивного типа данных.  В нужных правилах просто делать int_of_string $1 или типа того.
[16:35:35] <f[x]> вариант два Scanf
[16:35:38] <f[x]> вариант три mikmatch
[16:36:04] <gds> scanf -- поддерживаю.
[16:37:03] <Kakadu> ясно, наверное scanf проще
[16:45:50] <Kakadu> что-то я не понимаю как вы предлагаете мне написать. Надо пытаться scanfить полученную строку, и если исключение не упало, то всё ОК?
[16:50:28] <f[x]> если у тебя несколько вариантов формата строки то scanf не ок
[16:50:34] <gds> например, первым sscanf сначала разбить на команду и строку с аргументами, затем матчить команду, в зависимости от неё парсить аргументы как нужно.  Или сразу выписать пачку sscanf'ов и действий, которые надо выполнить, и пробовать их по очереди.
[16:58:55] <Kakadu> угу
[17:29:56] <gds> первый релиз, пока только тесты, дубовая сборка, классический окамловский в/в (вместо lwt'шного) и прочие прелести.  http://bitbucket.org/gds/ocaml-iteratees
Интересны любые комментарии и исправления.
Кстати вот, учитывая, что концепция сама по себе не самая простая, даже не знаю, нужен ли iteratees.mli: скрытых функций там или нет, или очень мало и их сокрытие непринципиально; реализацию типов данных скрывать нельзя (в ней весь цимес); комментарии и реализацию функций нет смысла разделять (в том числе для вычитки).
[17:51:42] gds вышел(а) из комнаты: Replaced by new connection
[17:51:44] gds вошёл(а) в комнату
[18:08:22] komar вошёл(а) в комнату
[18:12:54] <komar> [komar@pavilion ~/src/ocaml-iteratees]$ make doc
make: *** No rule to make target `doc'.  Stop.
[18:14:10] <gds> komar: STOP!!111111
[18:15:36] <gds> документация -- http://okmij.org/ftp/Streams.html#iteratee
[18:17:13] <komar> Выложи вывод ocamldoc.
[18:17:18] <komar> Без него ж вообще ничего не понятно.
[18:19:02] <gds> у меня исходники не поддерживают ocamldoc.  Чтобы было понятно -- читать оригиналы, затем читать iteratees.ml.
[18:19:16] <gds> и уверяю, ocamldoc ничем не поможет.
[18:19:36] <komar> Что, там как у меня — собирается двумя компиляторами через два препроцессора?
[18:20:22] <f[x]> не, там написано в revised  с запятыми выровненными по вертикали
[18:20:23] <gds> одним, через один (но разный, иногда camlp4o, иногда camlp4r -no_quot), остальное в плане понимабельности наверное ещё хуже.
[18:20:36] <komar> ocamldoc поддерживает camlp4.
[18:20:55] <f[x]> ага, только camlp4 не поддерживает ocamldoc, комментарии уплывают
[18:21:00] <komar> А, не, вру. Препроцессор у меня один был.
[18:21:39] <gds> вроде не так далеко уплывают.  Но типы вида ('el, 'a) iteratee -- это изврат.  ничего же не понятно.  а там оно и вложенное нередко.
[18:22:05] <f[x]> уплывают на +/- строчку и этого достаточно чтобы ocamldoc сходил с ума
[18:22:47] <Typhon> а ocamldoc работает с текстом программы напрямую и его парсит?
[18:23:08] <f[x]> http://extunix.forge.ocamlcore.org/api/ExtUnixSpecific.html#TYPEadvice
[18:23:09] <f[x]> угу
[18:23:12] <komar> Гм, когда патчил camlhightlight, пришлось делать временный файл, в который скидывался код после препроцессинга.
[18:23:29] <gds> f[x]: а я не нашёл выравнивания по запятым :[
[18:23:49] <f[x]> http://caml.inria.fr/mantis/view.php?id=4713
[18:25:49] <Typhon> gds: видимо имеется ввиду ";" на следующей строке :)
[18:27:19] <f[x]> yup
[18:27:58] f[x] нагло комментит в древние баги на мантисе
[18:28:47] <Typhon> смотри, будут некрофилом обзывать!
[18:31:49] <f[x]> пусть обзывают как хотят, если баги пофиксят
[18:31:59] <komar> Он не некрофил, он археолог.
[18:33:23] abiogenesis вошёл(а) в комнату
[18:45:24] abiogenesis вышел(а) из комнаты
[18:51:41] iNode вышел(а) из комнаты
[18:58:12] arhibot вышел(а) из комнаты
[19:23:19] Kakadu вышел(а) из комнаты
[19:34:19] <gds> кто там вникал, что точно недавно тут меряли в ocsigen?  Просто выдачу тестовой страницы?  ab по какому шаблону действовал?  Кучу запросов сразу, или в несколько нитей, или как?
[19:40:34] myxomop87 вошёл(а) в комнату
[19:51:10] ygrek вышел(а) из комнаты
[19:55:20] <myxomop87> gds: мерил такой командой: ab -n 50000 -c 1000 http://localhost:8000/
[19:59:40] <ʇsʎɯ> мерИл?
[19:59:47] <ʇsʎɯ> :facepalm:
[20:20:50] Kakadu вошёл(а) в комнату
[20:26:31] gds вышел(а) из комнаты: Replaced by new connection
[20:26:32] gds вошёл(а) в комнату
[20:32:34] ygrek вошёл(а) в комнату
[21:13:52] Typhon вышел(а) из комнаты
[21:27:12] <komar> http://flyingfrogblog.blogspot.com/2010/10/f-asynchronous-programming-model-by-don.html — годный вброс.
[21:41:49] arhibot вошёл(а) в комнату
[21:51:16] gds вышел(а) из комнаты
[22:00:55] gds вошёл(а) в комнату
[22:12:34] komar вышел(а) из комнаты: Logged out
[22:12:37] komar вошёл(а) в комнату
[22:13:12] komar вышел(а) из комнаты
[22:19:45] komar вошёл(а) в комнату
[22:26:04] <Kakadu> в derivingе есть вариантный тип expr и в нём   | `Constr of ((string list) * expr list)
[22:26:19] <Kakadu> я что-то туплю как у конструктора модет быть много имен
[22:26:40] <Kakadu> expr list - это наверное параметры конструктора
[22:26:57] <Kakadu> но тогда наверное оба списка в паре должны быть одинаковой длины
[22:27:12] <Kakadu> я запутался
[22:37:41] <arhibot> File "syntax.ml", line 50, characters 19-20: -- как так если в файле 44 строки? :)
[22:41:58] gds вышел(а) из комнаты: Replaced by new connection
[22:41:59] gds вошёл(а) в комнату
[22:43:40] ygrek вышел(а) из комнаты
[22:43:43] ygrek вошёл(а) в комнату
[22:47:14] komar вышел(а) из комнаты
[23:04:21] <Kakadu> ygrek: у меня вопрос для прошаривания по deriving'у
[23:04:38] <Kakadu> насколько сложно в show печатать тип функции?
[23:05:09] <Kakadu> у меня сейчас непонятки что писать после type a
[23:05:54] <Kakadu> если оставить просто анонимный тип, то у меня        Type declarations do not match:
         type a = Show_t.a
       is not included in
         type a = int -> (string -> float) -> int * int
[23:06:16] <Kakadu> где последнее - тип функции, что я хочу заderiviть
[23:07:00] <ygrek> Kakadu: я не знаю, я никогда не копал глубоко как оно работает
[23:10:14] Typhon вошёл(а) в комнату
[23:11:44] ygrek вышел(а) из комнаты
[23:12:05] ygrek вошёл(а) в комнату
[23:12:43] ygrek вышел(а) из комнаты
[23:13:13] ygrek вошёл(а) в комнату
[23:13:35] ygrek вышел(а) из комнаты
[23:22:30] komar вошёл(а) в комнату
[23:50:14] <Kakadu> эти квотэйшены дикая развлекуха
[23:50:52] <Kakadu> вот $atype_expr ctxt (`Function f)$ печатает то что мне надо --- тип функции к которой будем делать Show
[23:51:20] <Kakadu> как её взять в кавычки и подпихнуть print_endline я не знаю
[23:52:30] <Kakadu> <:expr< это не то
[23:53:36] <Kakadu> ооооо
[23:53:42] <Kakadu> $`str кажется оно
[23:54:36] <Kakadu> $ ./me
(int->float)
$ cat me_tests.ml
type t = int -> float deriving (Show)
let f1 _ = 0.0 in
print_endline (Show.show<t> f1);
[23:58:40] <Kakadu> Вообще о там как получать текстовое представление типа надо подумать
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!