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

GMT+4
[00:09:53] Typhon вошёл(а) в комнату
[00:52:06] ermine вышел(а) из комнаты
[01:11:05] Kakadu вышел(а) из комнаты
[01:35:07] bobry вышел(а) из комнаты
[01:36:57] komar вышел(а) из комнаты
[01:37:14] komar вошёл(а) в комнату
[02:07:47] Vinzent вышел(а) из комнаты
[02:09:32] ftrvxmtrx вышел(а) из комнаты
[02:09:47] ftrvxmtrx вошёл(а) в комнату
[02:38:39] Typhon вышел(а) из комнаты
[02:39:00] Typhon вошёл(а) в комнату
[02:41:28] Typhon вышел(а) из комнаты
[02:41:49] Typhon вошёл(а) в комнату
[03:07:05] tilarids вышел(а) из комнаты: Computer went to sleep
[03:18:51] komar вышел(а) из комнаты: Replaced by new connection
[03:18:51] komar вошёл(а) в комнату
[04:00:34] komar вышел(а) из комнаты
[04:00:46] komar вошёл(а) в комнату
[04:02:41] letrec вошёл(а) в комнату
[04:33:34] komar вышел(а) из комнаты: Replaced by new connection
[04:33:34] komar вошёл(а) в комнату
[05:14:34] letrec вышел(а) из комнаты
[06:34:35] Sun][ вошёл(а) в комнату
[06:51:57] Sun][ вышел(а) из комнаты
[07:15:27] komar вышел(а) из комнаты
[07:15:27] komar вошёл(а) в комнату
[08:49:26] tilarids вошёл(а) в комнату
[09:53:04] Vinzent вошёл(а) в комнату
[10:14:53] Vinzent вышел(а) из комнаты
[10:35:59] ermine вошёл(а) в комнату
[10:53:18] Kakadu вошёл(а) в комнату
[10:54:16] Kakadu вошёл(а) в комнату
[10:56:14] ftrvxmtrx вышел(а) из комнаты
[11:27:25] Vinzent вошёл(а) в комнату
[11:38:12] ftrvxmtrx вошёл(а) в комнату
[11:41:51] komar вышел(а) из комнаты
[11:41:56] komar вошёл(а) в комнату
[11:45:04] bobry вошёл(а) в комнату
[11:55:26] bobry вышел(а) из комнаты
[12:37:10] letrec вошёл(а) в комнату
[12:45:10] Vinzent вышел(а) из комнаты
[12:46:29] <f[x]> http://www.nii.ac.jp/shonan/seminar019/
[12:46:47] <f[x]> япона НИИ!
[12:50:02] tilarids вышел(а) из комнаты: Computer went to sleep
[12:55:42] Typhon вышел(а) из комнаты
[13:12:46] tilarids вошёл(а) в комнату
[13:55:23] tilarids вышел(а) из комнаты: Replaced by new connection
[13:55:23] tilarids вошёл(а) в комнату
[13:58:56] komar вышел(а) из комнаты
[13:59:02] komar вошёл(а) в комнату
[13:59:53] tilarids вышел(а) из комнаты: Replaced by new connection
[13:59:54] tilarids вошёл(а) в комнату
[14:07:18] Typhon вошёл(а) в комнату
[14:13:41] tilarids вышел(а) из комнаты: Replaced by new connection
[14:13:41] tilarids вошёл(а) в комнату
[14:18:54] tilarids вышел(а) из комнаты: Replaced by new connection
[14:18:54] tilarids вошёл(а) в комнату
[16:05:37] <gds> f[x]: интересно, однако.
[16:42:11] Sun][ вошёл(а) в комнату
[18:11:45] komar вышел(а) из комнаты
[18:11:48] komar вошёл(а) в комнату
[18:29:42] <Kakadu> черт, хотят на работе отправить в другой проект кодить на яваскрипт и пхп
[18:42:18] komar вышел(а) из комнаты
[18:42:36] komar вошёл(а) в комнату
[19:08:36] ftrvxmtrx вышел(а) из комнаты
[19:09:06] Typhon вышел(а) из комнаты
[19:19:24] Kakadu вышел(а) из комнаты
[19:44:27] Kakadu вышел(а) из комнаты
[20:01:40] Vinzent вошёл(а) в комнату
[20:03:41] Vinzent вышел(а) из комнаты
[20:29:38] Sun][ вышел(а) из комнаты
[20:33:07] Kakadu вошёл(а) в комнату
[20:52:06] komar вышел(а) из комнаты: Replaced by new connection
[20:52:06] komar вошёл(а) в комнату
[20:54:17] tilarids вышел(а) из комнаты: Computer went to sleep
[21:25:50] bobry вошёл(а) в комнату
[21:25:53] letrec вышел(а) из комнаты
[21:49:38] <Kakadu> что-то я ничего не понял
[21:49:44] <Kakadu> http://fprog.ru/2010/issue4/roman-dushkin-existentials/
[21:50:08] <Kakadu> почему в окамле предикативный предварённый полиморфизм ?
[21:55:34] ftrvxmtrx вошёл(а) в комнату
[21:59:35] <gds> не вижу, чтобы это где-то утверждалось.
[22:00:13] <Kakadu> оно и не утверждается, я сам придумал)
[22:00:38] <Kakadu> а какие функциональные языки есть, где только такой полиморфизм?
[22:00:45] <Kakadu> они есть вообще?
[22:01:48] <Kakadu> я запутался.
[22:02:08] <Kakadu> Полиморфизм ранга k (при k > 1) позволяет конкретизировать типовые переменные полиморфными типами ранга не выше (k - 1). В [2] доказано, что вывод типов возможен для k = 2, но для больших k задача вывода типов неразрешима.
[22:02:14] <gds> смотри на записи/объекты с полиморфными полями/методами для rank > 1, смотри на модули для параметризации "полиморфными типами" (вообще-то в литературе про окамл они называются "параметризованными").
[22:02:47] <Kakadu> Т.е. То, что она неразрешима некритично?
[22:04:01] <gds> смотря для каких применений.  Типы не выведешь -- это точно.  Даже для k=2 периодически нужны указания типов.  А в общем случае -- ну укажи типы, чо.  Учитывая практическую редкость использования таких полиморфизмов, это не сложно.
[22:05:33] <Kakadu> Ну вот например 'a option это какой полиморфизм? k?
[22:06:24] <gds> k=1
[22:08:44] <Kakadu> Но Душкин говорит, что в 1 ранге типовой переменоой могут быть только монотипы, т.е. типы без 'a. Но я могу завести типа 'a option option. Слудовательно либо это не 1й ранг, либо Душкин врёт, либо я дурак.
[22:10:30] <gds> тут такая штука: 'a option -- для любого конкретного типа 'a можно сделать 'a option.  Но если 'a = 'b option, который тоже конкретный, то можно сделать 'a option = 'b option option.
[22:10:43] komar вышел(а) из комнаты
[22:10:46] komar вошёл(а) в комнату
[22:13:15] <Kakadu> а ранг2 искать где-то тут? http://alaska-kamtchatka.blogspot.com/2010/08/polymorphic-recursion-with-rank-2.html
[22:13:29] <gds> приведу пример конструкторов с рангом выше 1.  Представь, что нужно для любого контейнера из функции map сделать функцию iter.  То есть, тебе дают 'a list и List.map, либо 'a array и Array.map, или что угодно ещё подобное.  И надо применить к аргументу этот самый переданный map и проигнорировать результат.  Твой ход.
[22:14:07] <gds> аляска -- не про rank2 конструкторы, но про другие аспекты rank2-полиморфизма.  Почитать точно неплохо.
[22:15:06] <gds> а хотя у меня тут тоже не про конструкторы.  И, вроде, подход аляски применим.  Тут я ошибся.
[22:15:44] <gds> но, всё равно, задачку реши для развития.  Перед похапэ-жабаскрипт-говноедством хоть что-нибудь хорошее покушай, чтобы не на голодный желудок было.
[22:16:18] <Kakadu> Вместо перехода можно подать документы в контору боброго
[22:18:38] <Kakadu> а твою задачу хер решишь так просто, ибо не так просто написать сигнатуру, что принимает и list и array
[22:19:12] <Kakadu> из кадастра же?
[22:21:04] <gds> пример -- придумал только что.
ну а ты попробуй, тем не менее.
в кадастре подобное можно решить, но там динамические типы, то есть, функция будет иметь тип ubox -> ubox -> ubox, условно говоря.  Но я в нём такого не решал.
[22:38:05] <Kakadu> а чтобы её решить надо возиться с модулями/функторами?
[22:41:06] Kakadu чувствует себя будто он проваливается на собеседовании
[22:49:08] tilarids вошёл(а) в комнату
[22:50:15] tilarids вышел(а) из комнаты: Computer went to sleep
[23:01:22] <gds> Kakadu: решение на функторах очевидно, да.  А мне стало интересно решить её без функторов.
[23:01:37] tilarids вошёл(а) в комнату
[23:16:35] <gds> решил сначала посмотреть, как же coq справляется.  Просто замечательно справляется!  http://paste.in.ua/4428/
[23:30:54] <Kakadu> а что значит  (t : Type -> Type) ?
[23:32:39] <gds> вот оно и значит :)  t берёт тип как аргумент и возвращает тип.  то есть, как "list", как "array".  list 'a -- тип list применён к типу 'a, что даёт тип.
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!