Home
programming@c.j.r
programming@conference.jabber.ru
Воскресенье, 21 февраля 2016< ^ >
ħ установил(а) тему: # make peace
| match subject with
| Если вы не знаете с чего начать общение -> некоторые советуют прочесть http://goo.gl/jkcH5R
| логи -> http://chatlogs.jabber.ru/programming@conference.jabber.ru/
| Список картинок за предыдущие дни -> http://jpeg.catfeed.net
| Стерхи -> http://caps.catfeed.net
| Цитаты больше 4х строк -> на пастбин
| p@cjr -> дОбыча радия since Mon Sep 17 00:00:00 2001
| перед тем, как спросить -> почитайте http://mywiki.wooledge.org/XyProblem
| Войс -> просить у модераторов/админов
| В конференцию требуется -> штатный биолог, юрист и бухгалтер (можно разные люди)
| _ -> Need more (та, чьё имя нельзя называть)-born packages and people!;;
Конфигурация комнаты
Участники комнаты

GMT+3
[00:00:06] <ħ> а я даже не знаю что такое Y-комбинатор и где эому научитться
[00:00:21] <ħ> пойду я спать лучше
[00:00:23] <ħ> всем бб
[00:00:27] ħ вышел(а) из комнаты
[00:00:47] <Lavir> Плюс с рекурсией, ħ, там дерево вариантов становится бесконечным или на уровне самого кода, или на где-то на мета-уровнях, так что… ой.
[00:05:58] Constverum вошёл(а) в комнату
[00:08:54] gr_buza@arbeiten вошёл(а) в комнату
[00:41:05] <oxpa> гервь опять написался и изобретал ерланг?
[00:50:43] jsv вышел(а) из комнаты
[00:57:50] Lavir вышел(а) из комнаты
[01:17:59] <oxpa> теперь у меня есть вопрос к гервю, а его нет...
[01:26:54] gr_buza@arbeiten вышел(а) из комнаты
[01:27:02] m4n71k0r вышел(а) из комнаты
[01:47:53] olgZZZ вышел(а) из комнаты
[02:36:29] Constverum вышел(а) из комнаты
[03:30:26] m4n71k0r вошёл(а) в комнату
[03:54:31] ForNeVeR вышел(а) из комнаты
[03:54:34] ForNeVeR вошёл(а) в комнату
[03:56:14] ForNeVeR вышел(а) из комнаты: Disconnected: Replaced by new connection
[03:56:15] ForNeVeR вошёл(а) в комнату
[03:57:44] ForNeVeR вышел(а) из комнаты: Disconnected: Replaced by new connection
[03:57:45] ForNeVeR вошёл(а) в комнату
[04:05:59] isunkin вошёл(а) в комнату
[05:48:41] <Mr.Purple> хйошес
[05:48:56] <Mr.Purple> .wz usss
[05:48:59] <sulci> Mr.Purple: Ekaterinburg, Russia - 2016.02.21 0230 UTC / freezing fog, -13°C / 8°F, humidity: 84%, pressure: 30.39 in. Hg (1029 hPa), wind: from the E (080 degrees) at 2 MPH (2 KT), visibility: less than 1 mile
[06:09:46] kmo_3gecb вошёл(а) в комнату
[06:10:20] kmo_3gecb вышел(а) из комнаты
[06:10:37] kmo_3gecb вошёл(а) в комнату
[06:24:21] Bob Page вошёл(а) в комнату
[06:46:45] kmo_3gecb вышел(а) из комнаты
[07:00:11] Mr.Purple вышел(а) из комнаты
[07:00:25] Mr.Purple вошёл(а) в комнату
[07:21:47] <ForNeVeR> ħ: chart.js норм.
[07:37:32] isunkin вышел(а) из комнаты
[07:54:14] makhlot вошёл(а) в комнату
[07:55:04] makhlot вышел(а) из комнаты
[07:55:27] makhlot вошёл(а) в комнату
[07:57:23] makhlot вышел(а) из комнаты
[08:23:17] Lavir вошёл(а) в комнату
[08:57:48] makhlot вошёл(а) в комнату
[09:11:36] portnov вошёл(а) в комнату
[09:11:48] <portnov> утро.
[09:22:22] makhlot вышел(а) из комнаты
[09:25:36] ForNeVeR вышел(а) из комнаты: Disconnected: closed
[09:33:39] ForNeVeR вошёл(а) в комнату
[09:56:43] w.hack вошёл(а) в комнату
[09:57:28] makhlot вошёл(а) в комнату
[09:58:38] makhlot вышел(а) из комнаты
[10:00:56] rexim вошёл(а) в комнату
[10:01:14] w.hack вышел(а) из комнаты
[10:06:28] gr_buza@arbeiten вошёл(а) в комнату
[10:07:53] Аман вошёл(а) в комнату
[10:16:46] Lavir вышел(а) из комнаты
[10:49:30] jsv вошёл(а) в комнату
[10:51:13] Constverum вошёл(а) в комнату
[10:53:29] <portnov> Патриарх Кирилл увидел в Антарктиде идеальное общество <http://lenta.ru/news/2016/02/21/patriarch/>
[10:54:59] <Аман> .wz vept
[10:55:02] <sulci> Аман: Patna, India - 2016.02.21 0730 UTC / haze, 30°C / 86°F, humidity: 48%, pressure: 29.83 in. Hg (1010 hPa), wind: from the W (270 degrees) at 12 MPH (10 KT), visibility: 3 mile(s)
[10:58:16] <portnov> sulci: расскажи чонить.
[10:58:18] <sulci> portnov: просто доку по 35
[10:59:29] <portnov> http://cs540105.vk.me/v540105029/4b418/yTfC8TBmHDk.jpg
[11:00:07] <portnov> http://cs540105.vk.me/v540105029/4b403/j4tZ7ndPQ9E.jpg
[11:01:57] olgZZZ вошёл(а) в комнату
[11:03:23] portnov вышел(а) из комнаты
[11:05:55] portnov вошёл(а) в комнату
[11:06:26] ħ вошёл(а) в комнату
[11:06:52] <ħ> oxpa: пол второго ночи все герви уже спят
[11:07:19] <ħ> portnov: я понимаю патриарха Кирилла, у нас в горах тоже общество существенно лучше
[11:07:54] <ħ> посоны, где Lavir, я во сне всё придумал
[11:15:47] <ħ> короче, тем такая. паттерн это же тоже самое что тип на самом деле, т.е. множество допустимых значений переменной
[11:16:01] <ħ> значит каждая наша отдельная чистая функция это
a_i -> b_i
[11:16:05] <ħ> вот
[11:16:22] <ħ> а дальше мы задаем целевой тип g куда ходим попасть
[11:16:38] <ħ> вот, при заданном g все b_i делятся на три группы
[11:18:13] <ħ> 1) не имеющие пересечения (я не знаю как пересекать паттерны алгоритмически)
2) b_i пересекается с g, но b_i не подмножество g (я не знаю как определять принадлежность для паттернов алогритмически)
3) b_i - подмножество g
[11:18:14] <ħ> вот
[11:18:17] <ħ> дальше так
[11:18:26] <ħ> если все i принадлежат группе 1 - то задача не решается
[11:18:50] <ħ> для тех i которые в пункте 3 - задача решает понятным образом, мы её решили для всех соответствующих a_i
[11:18:55] <ħ> а вот с пунктом 2 я хз чо делать
[11:19:05] <ħ> нужно как-то научиться функции делить на две части
[11:19:37] <ħ> а я не знаю как чистую функцию алгоритмически разделить на две части, чтобы первая часть возвращала тип из рубрики 1, а вторая часть возвращала тип из рубрики 3
[11:20:14] <ħ> portnov:
[11:20:53] <portnov> грвь упрлс
[11:21:52] arcade_ вышел(а) из комнаты
[11:23:44] <ForNeVeR> Чо он говорит? Кто так называет переменные?
[11:24:07] arcade_ вошёл(а) в комнату
[11:25:13] <ħ> ForNeVeR: как расчекрыжить a->b на a1->b1 и a2->b2
[11:25:14] <ħ> ?
[11:25:24] <ħ> как из одной чисто функции сделать джве
[11:25:26] <ħ> ?
[11:25:26] <ForNeVeR> ħ: паттерн-матчингом?
[11:25:49] <ħ> а как мне паттерн матчингом сделать?
[11:25:59] <ħ> мне нужно по возвращаемому подтипу вывести входной под тип
[11:26:05] <ħ> мне задано a->b, b1, b2
[11:26:09] <ħ> хочу найти a1 и a2 такие что
[11:26:16] <ħ> a1 -> b1, a2 -> b2
[11:26:20] <ħ> а вместе a->b
[11:27:02] <ForNeVeR> let ħ x pattern1 pattern2 : A -> B =
    if pattern1 x then f1
    else if pattern2 x then f2
    else failwithf "nooooo"
[11:27:19] <ħ> так это
[11:27:21] <ħ> братан
[11:27:32] <ħ> мне нужно pattern1 и pattern2 как раз вычислить как-то
[11:27:38] <ForNeVeR> А, ты уравнение решаешь?
[11:27:42] <ħ> ну да
[11:27:46] <ħ> можно и так сказать
[11:27:58] <ForNeVeR> Ну дак вырази его математически. Чо ты пристал со своими типами и подтипами?
[11:28:04] <ForNeVeR> Или у тебя уравнение на типах?
[11:28:09] <ħ> у меня уравнение в типах
[11:28:13] <ħ> a->b это функция в эрланге
[11:28:15] <ForNeVeR> Гы, круто!
[11:28:24] <ForNeVeR> Только в эрланге нет типов.
[11:28:30] <ħ> там есть паттерны
[11:28:37] <ForNeVeR> Или ты хошь заставить диалайзер решать тебе уравнения?
[11:28:39] m4n71k0r вышел(а) из комнаты
[11:28:43] <ħ> а паттерны очень похожи на типы
[11:28:59] <ForNeVeR> Гм. Паттерны похожи на паттерны.
[11:29:00] <ħ> ForNeVeR: хочу заставить диалайзер, если он умеет
[11:29:29] <ħ> нет, когда паттерн используется в опеределении функции, то он похож на тип
[11:29:34] <ForNeVeR> Но если ты объявляешь семейство значений, удовлетворяющее паттерну, типом - то ок, наверное (?)
[11:29:40] <ħ> ну да
[11:29:44] <ħ> я так и объявляю
[11:29:52] <ForNeVeR> Хорошо, поясняй дальше.
[11:30:06] <ForNeVeR> Ты хочешь суперкомпилятор, который тебе специализирует функцию по паттернам?
[11:30:14] <ħ> лучше
[11:30:25] <ħ> я хочу суперкомпилятр который мне построит композицию из существующих функций
[11:30:32] arcade_ вышел(а) из комнаты: Replaced by new connection
[11:30:39] arcade_ вошёл(а) в комнату
[11:30:50] <ħ> пусть есть N функций a_i -> b_i
[11:30:54] <ForNeVeR> Но ведь этих a1 и a2 может быть бесконечное множество.
[11:31:12] <ForNeVeR> Как он вообще тебе сообщит эти значения? И что ты с ними будешь делать?
[11:32:20] <ħ> я хочу построить композицию их них такую, которая -> g
[11:32:25] <ħ> где g задано
[11:32:39] <ħ> g это тип, задан он с помощью паттерна
[11:32:51] <ħ> [11:16:01] <ħ> значит каждая наша отдельная чистая функция это
a_i -> b_i
[11:16:05] <ħ> вот
[11:16:22] <ħ> а дальше мы задаем целевой тип g куда ходим попасть
[11:16:38] <ħ> вот, при заданном g все b_i делятся на три группы
[11:18:13] <ħ> 1) не имеющие пересечения (я не знаю как пересекать паттерны алгоритмически)
2) b_i пересекается с g, но b_i не подмножество g (я не знаю как определять принадлежность для паттернов алогритмически)
3) b_i - подмножество g
[11:33:19] <ħ> чтобы иметь дело с функциями из разряда 2 я хочу научиться их делить на две части
[11:35:38] <ħ> мне нужен Lavir, он мне вчера вечером почти всё объяснил
[11:36:15] <ħ> вообще задачу можно в более общем виде сформулироваиь
[11:36:18] <ħ> есть a -> b
[11:36:26] <ħ> есть c - подтип b
[11:36:39] <ħ> надо найти подтип a такой что a' -> c
[11:36:53] <ħ> т.е. прокрутить фарш через мясорубку в обратную сторону
[11:38:24] arcade_ вышел(а) из комнаты
[11:38:58] arcade_ вошёл(а) в комнату
[11:45:15] arcade_ вышел(а) из комнаты
[11:47:10] <ForNeVeR> Дак это. Узнай, как пересекать паттерны алгоритмически.
[11:47:33] <ħ> ну это должно быть возможно
[11:47:40] <ħ> а как вот в обратную сторону из разворачивать
[11:47:42] <ħ> вот это хз
[11:48:25] arcade_ вошёл(а) в комнату
[11:49:00] <ħ> по идее смотри как
[11:49:04] <ħ> вот есть f: a -> b
[11:49:13] <ħ> нужно построить f^-1 b -> a
[11:49:25] <ħ> мы будем считать что f  - pure для простоты
[11:49:29] <ħ> иначе ничего не выйдет конечно
[11:49:39] <ħ> в ФП есть ли способы обратить функцию
[11:49:44] <ħ> ?
[11:50:07] <ħ> f.f^1(x) = x
[11:50:14] <ħ> ну вы поняли
[11:51:03] <ForNeVeR> Проблему останова бы решить ещё заодно!
[11:51:19] <ForNeVeR> Впрочем, похоже, что в твоём частном случае это не нужно. Я надеюсь.
[11:51:37] arcade_ вышел(а) из комнаты
[11:52:50] arcade_ вошёл(а) в комнату
[11:55:48] <ħ> https://www.youtube.com/watch?v=iybPVqWbj6w
[11:55:52] дырдырдыр вошёл(а) в комнату
[12:00:54] Аман вышел(а) из комнаты: Replaced by new connection
[12:00:55] Аман вошёл(а) в комнату
[12:08:56] gr_buza@arbeiten вышел(а) из комнаты
[12:09:09] ermine вошёл(а) в комнату
[12:10:30] <дырдырдыр> http://joyreactor.cc/tag/%25D0%25BA%25D0%25B0%25D0%25BA%2B%25D0%25BF%25D0%25BE%25D0%25B9%25D0%25BC%25D0%25B0%25D1%2582%25D1%258C%2B%25D0%25BB%25D1%258C%25D0%25B2%25D0%25B0%2B%25D0%25B2%2B%25D0%25BF%25D1%2583%25D1%2581%25D1%2582%25D1%258B%25D0%25BD%25D0%25B5
[12:11:44] <дырдырдыр> а лукоморье штоли всё?
[12:12:36] arcade_ вышел(а) из комнаты: Replaced by new connection
[12:12:48] arcade_ вошёл(а) в комнату
[12:13:39] <ħ> у лукоморья дуб зеленый
[12:14:26] arcade_ вышел(а) из комнаты
[12:15:34] arcade_ вошёл(а) в комнату
[12:16:21] arcade_ вышел(а) из комнаты: Replaced by new connection
[12:16:29] arcade_ вошёл(а) в комнату
[12:24:36] arcade_ вышел(а) из комнаты
[12:26:06] arcade_ вошёл(а) в комнату
[12:39:43] дырдырдыр вышел(а) из комнаты
[12:44:13] arcade_ вышел(а) из комнаты
[12:46:42] arcade_ вошёл(а) в комнату
[12:56:00] <portnov> http://s1.developerslife.ru/public/images/gifs/fa331580-cc95-4bfe-88de-0249dfd3c645.gif
[12:58:26] <portnov> http://s1.developerslife.ru/public/images/gifs/3490699d-7f84-4241-b084-0955cce7dc3e.gif
[13:02:36] makhlot вошёл(а) в комнату
[13:06:08] <portnov> sulci: бжжжь.
[13:06:10] <sulci> portnov: Sülschenautomatischemoderator
[13:06:18] <portnov> ээ
[13:06:19] <portnov> sulci: \o_
[13:06:21] <sulci> portnov: мокозь же задачи, где Java в меня как-то оно обращается по-португальски, переводчик
[13:07:05] <ħ> http://lenta.ru/news/2016/02/21/greeks/ у греков что-то  с географией не так?
[13:08:06] <ħ> у них же нет черноморского побережья
[13:08:09] <ħ> я не понял что имеется ввиду
[13:09:28] makhlot вышел(а) из комнаты
[13:10:40] arcade_ вышел(а) из комнаты
[13:24:27] makhlot вошёл(а) в комнату
[13:24:38] reggies вошёл(а) в комнату
[13:25:44] Comrade DOS вошёл(а) в комнату
[13:26:10] Comrade DOS вышел(а) из комнаты
[13:26:10] arcade_ вошёл(а) в комнату
[13:32:36] makhlot вышел(а) из комнаты
[13:34:44] arcade_ вышел(а) из комнаты
[13:46:42] ħ вышел(а) из комнаты
[14:07:05] ħ вошёл(а) в комнату
[14:13:55] none_ вошёл(а) в комнату
[14:15:42] isunkin вошёл(а) в комнату
[14:21:42] Аман вышел(а) из комнаты
[14:26:12] Аман вошёл(а) в комнату
[14:40:31] arcade_ вошёл(а) в комнату
[14:41:26] w.hack вошёл(а) в комнату
[14:55:21] w.hack вышел(а) из комнаты
[14:55:37] arcade_ вошёл(а) в комнату
[14:55:49] Lavir вошёл(а) в комнату
[15:06:37] Аман вышел(а) из комнаты
[15:23:42] <ħ> Lavir:
[15:23:44] <ħ> Lavir:
[15:23:49] <ħ> Lavir: я вчера ночью понял
[15:23:54] <Lavir> ?
[15:24:12] <ħ> [11:15:47] <ħ> короче, тем такая. паттерн это же тоже самое что тип на самом деле, т.е. множество допустимых значений переменной
[11:16:01] <ħ> значит каждая наша отдельная чистая функция это
a_i -> b_i
[11:16:05] <ħ> вот
[11:16:22] <ħ> а дальше мы задаем целевой тип g куда ходим попасть
[11:16:38] <ħ> вот, при заданном g все b_i делятся на три группы
[11:18:13] <ħ> 1) не имеющие пересечения (я не знаю как пересекать паттерны алгоритмически)
2) b_i пересекается с g, но b_i не подмножество g (я не знаю как определять принадлежность для паттернов алогритмически)
3) b_i - подмножество g
[11:18:14] <ħ> вот
[11:18:17] <ħ> дальше так
[11:18:26] <ħ> если все i принадлежат группе 1 - то задача не решается
[11:18:50] <ħ> для тех i которые в пункте 3 - задача решает понятным образом, мы её решили для всех соответствующих a_i
[11:18:56] <ħ> а вот с пунктом 2 я хз чо делать
[11:19:05] <ħ> нужно как-то научиться функции делить на две части
[11:19:37] <ħ> а я не знаю как чистую функцию алгоритмически разделить на две части, чтобы первая часть возвращала тип из рубрики 1, а вторая часть возвращала тип из рубрики 3
[15:27:33] <Lavir> ħ, во-первых, я думал, что ты и так понял, что паттерны суть типы. Во-вторых, насчет пунктов 2 и 3 Лука Карделли что-то гнал. Ща найду.
[15:28:44] <Lavir> http://lucacardelli.name/Papers/SRT.pdf , вспомнил (в браузере лучше не читать).
[15:29:14] <Lavir> Правда, там про рекурсивные типы, но там же описывается и подтипизация.
[15:29:28] <Lavir> А вообще, можно обратиться к TaPL.
[15:29:33] <ħ> так, вот, я потом еще порассуждал
[15:29:43] <ħ> и понял что задача из пункта 2 сводится к следующей
[15:29:46] <ħ> пусть есть функция a -> b
[15:29:56] <ħ> пусть есть подтип b' типа b
[15:30:04] <ħ> надо теперь найти его прообраз
[15:30:06] <ħ> подтип a'
[15:30:30] <ħ> вот как это сделать и какие условия для того чтобы можно было это сделать всегда
[15:32:10] <Lavir> Конкретнее. Ты имеешь в виду, что у тебя даны функции fi : xi → bi, дана функция g : b', дан некий тип… стоп, чего? Что такое a'?
[15:32:28] <ħ> не не
[15:32:45] <ħ> просто вот есть одна какая-то функция a_i -> b_i которую мы рассматриваем
[15:32:49] <ħ> смотрим на неё сейчас
[15:32:56] <ħ> есть тип g
[15:33:02] <ħ> g и b_i пересекаются
[15:33:09] <ħ> их пересечение я обозначу буквой x
[15:33:20] <ħ> x - подтип b_i
[15:33:26] <ħ> ну, по определению
[15:33:49] <ħ> вот
[15:34:02] <ħ> пусть теперь у типа a_i есть некоторый подтип y
[15:34:25] <ħ> такой что функция fi все значения y переводит в значения x
[15:35:03] <ħ> тогда я мой пункт 2 смогу разделить на две части и свести к пункту 1 и пункту 3
[15:35:12] <ħ> просто вместо одной функции введя две виртуальные функции
[15:35:18] <ħ> с разными типами на входе
[15:35:26] <ħ> но одинаковым кодом внутри
[15:35:38] <Lavir> Нет.
[15:35:44] <ħ> как нет?
[15:36:15] <Lavir> Блджад, ты не охуел ли делить код вот так вот внаглую? Как ты его делить собрался вообще?
[15:36:17] <sulci> Lavir: не болтай глупостей как малолетка!
[15:36:24] <Lavir> Кхм, да.
[15:36:34] <ħ> так в этом и вопрос
[15:36:40] <ħ> смотри, пусть есть функция
[15:36:51] <ħ> myfunction(State) -> чтототут.
[15:36:58] <ħ> ну я сделаю джва враппера
[15:37:21] <ħ> myfunction_1(State) when чтотоодно -> myfunction(State).
myfunction_2(State) when чтотодругое -> myfunction(State).
[15:37:29] <ħ> задача состоит в том, чтобы вычислить паттерн
[15:37:43] <ħ> по известному возвращаемому типу
[15:39:52] <ħ> ну вот к примеру, сейчас поясню
[15:43:25] <ħ> http://pastebin.com/4QgBN7xh
[15:44:14] <Lavir> Это очень частный случай, ħ. Ща скажу.
[15:46:24] arcade_ вышел(а) из комнаты: Replaced by new connection
[15:46:30] arcade_ вошёл(а) в комнату
[15:48:08] <Lavir> > ну я сделаю джва враппера
Собственно, как ты их сделаешь, ħ? Код функции, если он есть, переводит значение одного типа в значение другого. Не больше, не меньше.
[15:48:37] <ħ> да
[15:48:41] <ħ> но именно этот код
[15:49:04] <ħ> переводит значение подтипа одного типа в значение подтипа другого типа
[15:49:15] <Lavir> Нет.
[15:49:17] <Lavir> Стоять.
[15:49:19] <Lavir> Чего?
[15:49:21] <ħ> как нет?
[15:49:27] <ħ> ну смотри
[15:49:30] <ħ> вот у меня функция
[15:49:37] <ħ> она принимает на вход {ok, X} | {error, Y}
[15:49:49] <ħ> два возможных вида кортежа
[15:50:25] <ħ> эта же функция будет успешно работать если я ей на вход буду подавать только {ok, X}
[15:50:29] <ħ> или только {error, Y}
[15:50:40] <ħ> но вот при этом множество выходных значений изменится
[15:50:58] <Lavir> А! Так, продолжай.
[15:51:56] <ħ> а теперь я решаю задачку в другую сторону. я теперь беру и говорю, хочу чтобы множество возможных выходных значений моей функции было таким то, какие допустимые входные значения я для этого могу подавать на вход?
[15:52:48] <Lavir> Так. Логично.
[15:53:03] <Lavir> Хм-м-м!
[15:53:22] <ħ> пусть я обозначу множество допустимых входных значений буквой A
[15:53:29] <ħ> тогда этому множеству соответсвует некоторый паттерн
[15:53:49] <ħ> который я и запишу в определении новой обертки my_wrapper(тут паттерн)
[15:54:06] arcade_ вышел(а) из комнаты
[15:54:11] <ħ> например так my_wrapper({ok, X} = Y) -> my_function(Y).
[15:54:29] <ħ> my_function сработает и для {error, Y}, но my_wrapper такие значение не принимает
[15:55:26] arcade_ вошёл(а) в комнату
[15:57:10] <Lavir> Так вот.
[15:58:24] <ħ> да
[15:58:32] <Lavir> ħ, тебе, по сути, надо интерпретировать тело функции, чтобы доказать, что (f : A→B) (a' : A') → B', где A' и B' — подтипы A и B соответственно.
[15:58:45] arcade_ вышел(а) из комнаты
[15:59:23] isunkin вышел(а) из комнаты
[15:59:37] <ħ> ну как-то так
[15:59:54] <ħ> а как это сделать?
[16:00:30] <Lavir> По сути, надо писать интерпретатор кода. Других способов я не знаю.
[16:00:45] <ħ> ну хорошо
[16:00:53] <Lavir> Ключевые слова: символическое выполнение, ЕМНИП.
[16:00:54] <ħ> интерпретатор кода то уже есть в компиляторе
[16:01:13] <ħ> или этого недостаточно?
[16:06:08] <Lavir> Недостаточно. Ну, достаточно, если ты знаешь, как его оттуда выдрать. Тебе нужно подать на вход функции подтип, пропустить его через всю лапшу тела и выяснить, что вылезет на выходе. Потому, что доказать, что на выходе вылезет именно указанный подтип, в общем случае невозможно. ЕМНИП.
[16:07:27] arcade_ вошёл(а) в комнату
[16:08:34] <ħ> да, но при этом не гарантируется, что если на выходе вылез нужный подтип, то такой же подтип не вылезет для какого-то другого входного подтипа
[16:08:49] <Lavir> Хм-м-м!
[16:08:58] <ħ> ну, т.е. может быть я нашел подтип подтипа
[16:09:02] <Lavir> Намекаешь на символьное *реверс*-вычисление?
[16:09:29] <ħ> ну если функция чистая, её разве нельзя символьно вычислить назад?
[16:09:39] <ħ> это же не фарш через мясорубку прокрутить в обратную сторону
[16:09:59] <Lavir> Нет, это именно прокручивание фарша в обратную сторону. Ну, чуть легче.
[16:10:06] <Lavir> Возможно, да.
[16:10:22] <Lavir> Опять же, если не касаться рекурсии.
[16:11:10] arcade_ вышел(а) из комнаты: Replaced by new connection
[16:11:16] arcade_ вошёл(а) в комнату
[16:11:18] <ħ> ну а разве рекурсию нельзя развернуть?
[16:13:10] rexim вышел(а) из комнаты
[16:15:06] isunkin вошёл(а) в комнату
[16:17:04] <Lavir> Я плохо разбираюсь с рекурсией, ħ, поэтому ничего сказать про неё не могу. Но нутром чую, что можно для индуктивных типов. В общем же случае там случается проблема останова.
[16:17:20] isunkin вышел(а) из комнаты
[16:18:25] arcade_ вышел(а) из комнаты
[16:19:37] arcade_ вошёл(а) в комнату
[16:22:12] arcade_ вышел(а) из комнаты
[16:22:44] arcade_ вошёл(а) в комнату
[16:26:04] <ħ> а индуктивные типы это какие?Ю
[16:27:53] arcade_ вышел(а) из комнаты
[16:29:11] <Lavir> Типа Nat = zero | succ zero.
[16:29:26] <Lavir> *succ Nat
[16:30:19] arcade_ вошёл(а) в комнату
[16:33:50] arcade_ вышел(а) из комнаты
[16:36:33] arcade_ вошёл(а) в комнату
[16:37:03] arcade_ вышел(а) из комнаты: Replaced by new connection
[16:37:13] arcade_ вошёл(а) в комнату
[16:37:18] arcade_ вышел(а) из комнаты
[16:38:13] arcade_ вошёл(а) в комнату
[16:40:21] arcade_ вышел(а) из комнаты: Replaced by new connection
[16:40:27] arcade_ вошёл(а) в комнату
[16:46:56] <ħ> Lavir: я подумаю над тем что ты сказал
[16:48:32] <Lavir> Еще индуктивные типы можно назвать подвидом рекурсивных типов. Вот.
[16:49:31] m4n71k0r вошёл(а) в комнату
[16:58:23] rexim вошёл(а) в комнату
[17:00:57] theconquerorworm вошёл(а) в комнату
[17:08:53] <theconquerorworm> Посоны. Не ираниан. Вопрос: стоит ли заюзать твистед если из очереди (qpid) должно выгрести три с половиной килобайта, а отдать примерно до 50 мб, при том генерит ответ до секунды, но на данный момент не все через пайпы работает (когда все на пайпы поставлю думаю будет быстрее). И есть ли чего кроме txamqp? Кто знает, pika может дружить с qpid? Или она только с раббитом дружит?
[17:14:47] arcade_ вышел(а) из комнаты
[17:15:35] arcade_ вошёл(а) в комнату
[17:15:53] <portnov> http://metaclass.livejournal.com/938978.html
[17:16:01] <ForNeVeR> Слишком много питоновых терминов. Почему вопрос не в python@?
[17:16:55] <Mr.Purple> https://habrahabr.ru/post/264081/
[17:17:37] <portnov> во где наркоманы-то
[17:17:40] <portnov> винды
[17:17:43] <portnov> нотепад.екзе
[17:17:51] <portnov> некроманты
[17:19:02] <theconquerorworm> ForNeVeR: я там не подтвержден, на питон только недавно свалил
[17:25:22] <Mr.Purple> https://habrahabr.ru/post/264313/
[17:28:24] дырдырдыр вошёл(а) в комнату
[17:30:07] arcade_ вышел(а) из комнаты
[17:32:07] arcade_ вошёл(а) в комнату
[17:35:20] <дырдырдыр> >Как известно, в 64-битной системе для совместимости имеется два блокнота: 32- и 64-битный, надо не перепутать их.
[17:35:33] <дырдырдыр> для совместимости чего с чем?
[17:35:46] <дырдырдыр> нотепад это дллка?
[17:35:58] theconquerorworm вышел(а) из комнаты
[17:38:14] theconquerorworm вошёл(а) в комнату
[17:42:01] <ForNeVeR> дырдырдыр: для совместимости с 32-битными прогами, которые чего-нибудь ищут в system32.
[17:42:17] <дырдырдыр> ForNeVeR, ищут?
[17:42:24] <ForNeVeR> Да, ищут.
[17:42:28] <дырдырдыр> что ищут?
[17:42:31] <ForNeVeR> notepad.exe, например.
[17:42:44] <ForNeVeR> Если они его не найдут - то сломаются же.
[17:43:00] <дырдырдыр> а system64 там есть?
[17:43:18] <ForNeVeR> Честно говоря, я щас не смог придумать причины, по которой бы просто не засимлинковать 64-битный notepad.exe в обе локации.
[17:43:26] <дырдырдыр> а 64-битная винда на самом деле содержит ве венды?
[17:43:32] <дырдырдыр> *две
[17:43:32] <ForNeVeR> дырдырдыр: там смешнее.
[17:43:52] <ForNeVeR> System32 - это 64-битный каталог, но есть SysWOW64, который на самом деле 32-битный.
[17:44:12] <дырдырдыр> а я уж думал, куда может быть смешнее двух нотепадов
[17:44:26] <ForNeVeR> Однако 32-битному процессу, скомпилированному без специальных флагов, будут подсовывать сфабрикованную, 32-битную версию System32 :D
[17:44:44] <ForNeVeR> Потому что ну логично же.
[17:44:48] <дырдырдыр> а со специальными флагами?
[17:45:00] <ForNeVeR> А со специальными флагами он увидит всё как есть.
[17:45:16] <дырдырдыр> спермоуёбки
[17:45:22] <ForNeVeR> Ути-пути.
[17:45:25] <дырдырдыр> в этом вашем микрософте
[17:45:32] <ForNeVeR> У тебя у самого, поди, есть /lib и /lib64.
[17:45:39] <дырдырдыр> есть
[17:45:49] <ForNeVeR> А я на каком-то дистре видал /lib64, за каким-то хреном засимлинкованный в себя же.
[17:45:59] <ForNeVeR> И получались пути типа /lib64/lib64/lib64
[17:46:04] <дырдырдыр> и никто никому не подсовывает
[17:46:04] <ForNeVeR> Наркоманы везде, в общем.
[17:46:37] <ForNeVeR> А у вас заместо подсовывалки есть всякие LD_PRELOAD
[17:46:39] <дырдырдыр> и можно разнобитных нотепадов понаставить по желанию
[17:47:01] <ForNeVeR> В винде до такого ещё не додумались отчего-то.
[17:47:02] <дырдырдыр> есть, и они просты и логичны
[17:47:10] <ForNeVeR> Ну и тут всё просто.
[17:47:22] <ForNeVeR> Смотри: видишь в имени каталога 32 - значит, он 64. А если 64 - то он 32!
[17:47:29] <ForNeVeR> Что может быть проще и логичней?
[17:47:30] <дырдырдыр> во-во
[17:48:18] <ForNeVeR> Есть, кстати, pure 64 версии винды. Как и линуксов.
[17:48:26] <Mr.Purple> ForNeVeR: а в PE-секции там что ли флага про битность?
[17:48:38] <Mr.Purple> ForNeVeR: в музеях стоят?
[17:48:42] <Mr.Purple> под стеклом
[17:49:07] <дырдырдыр> и хера бы микрософту было не сделать system64?
[17:49:09] <ForNeVeR> Mr.Purple: я тебя не понимаю.
[17:55:02] theconquerorworm вышел(а) из комнаты
[17:55:29] <Mr.Purple> этот наркоман бэтмена отлаживал ⍀_⌿
[17:57:49] <Mr.Purple> https://habrahabr.ru/company/pt/blog/276459/
[18:07:38] theconquerorworm вошёл(а) в комнату
[18:33:34] <Mr.Purple> http://voron-vp.livejournal.com/42033.html баян небось
[18:33:50] <Mr.Purple> пару раз чуть не захлебнулся/не залил водой бук
[18:33:56] <Mr.Purple> во время чтения
[18:41:15] arcade_ вышел(а) из комнаты
[18:59:15] <дырдырдыр> http://img1.joyreactor.cc/pics/post/%D1%80%D0%B5%D0%BB%D0%B8%D0%B3%D0%B8%D1%8F-%D1%85%D1%80%D0%B8%D1%81%D1%82%D0%B8%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%BE-%D0%B8%D1%83%D0%B4%D0%B5%D0%B8-%D1%81%D0%BC%D0%B5%D1%88%D0%BD%D1%8B%D0%B5-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-2878637.jpeg
[19:03:59] <дырдырдыр> http://img1.joyreactor.cc/pics/post/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-2878043.png
[19:07:38] rexim вышел(а) из комнаты
[19:17:02] <portnov> sulci: расскажи чонить.
[19:17:04] <sulci> portnov: дык то мало хацкеля.
[19:17:33] <portnov> sulci: https://github.com/portnov/wacom-intuos-pro-scripts/blob/master/xmonad/hswcmd/System/Wacom/Daemon.hs вот тебе.
[19:17:33] <sulci> portnov: all:
[19:32:59] <ForNeVeR> portnov: WacomHandle tvar
[19:33:13] <portnov> ForNeVeR: ы?
[19:33:56] <portnov> вот чем хорош хмонад — к нему можно любую функциональность приделать
[19:33:56] <ForNeVeR> portnov: твар!
[19:34:04] <portnov> хошь удев, хошь дбас
[19:34:53] <portnov> не то тварь, не то товар, да.
[19:34:56] <ForNeVeR> portnov: мне казалось, что они все для разных вещей. Как ты их объединяешь?
[19:35:33] <portnov> ForNeVeR: ну захотелось мне чтобы при переключении окон автоматически профиль настройки планшета переключался
[19:35:47] <portnov> это естественно звать из оконного менеждера
[19:36:24] <portnov> а с другой стороны, текущий профиль где-то надо хранить, потому что выставленные настройки забываются при отключении/подключении планшета
[19:36:36] <portnov> поэтому при подключении планшета надо их вспоминать и применять
[19:36:38] <portnov> отсюда удев
[19:37:05] <portnov> в принципе, kde-шный модуль для планшетов примерно также работает, и гномий
[19:37:10] <ForNeVeR> А, ну это логично, ок.
[19:37:48] <portnov> но они глючные как непойми чо, да ещё и не умеют переключать профили автоматом
[19:38:49] <portnov> поэтому я сначала сделал интеграцию с кде-шным демоном через дбас, а потом подумал и сделал своего демона прям в хмонаде.
[19:39:35] <ħ> portnov: а зачем тебе планшет?
[19:41:41] <portnov> рисую иногда.
[19:42:16] <ħ> голых баб?
[19:42:27] <portnov> >_<
[19:42:57] <Mr.Purple> с натуры, ага
[19:42:58] <portnov> В Подмосковье мусорный лифт отрезал голову уборщице <http://lenta.ru/news/2016/02/21/lift/>
[19:43:14] <Mr.Purple> неправильный мусорный лифт
[19:43:23] <Mr.Purple> должен полицейским головы резать
[19:43:29] <ForNeVeR> Как это вообще - мусорный лифт?
[19:43:44] <ħ> лифт для мусоров же
[19:43:52] <ForNeVeR> У нас тут не у каждого человека есть лифт, а у москалей ужно даже для мусора? Ух, зажрались!
[19:46:41] дырдырдыр вышел(а) из комнаты
[19:50:16] theconquerorworm вышел(а) из комнаты
[20:00:03] <portnov> >>
http://lurkmore.to/IRL
Not Found
The requested URL /IRL was not found on this server.
[20:00:06] <portnov> ook
[20:00:21] <ħ> у меня заблокировно
[20:02:33] <Mr.Purple> умвр
[20:10:08] <Lavir> ħ, у вас РКН протёк.
[20:10:37] <ħ> что такое РКН?
[20:11:11] <Lavir> Роскомнадзор.
[20:11:14] Аман вошёл(а) в комнату
[20:12:20] <ħ> так
[20:12:51] <Mr.Purple> Lavir: скорее пров перед РКН
[20:14:01] <ħ> посоны
[20:14:09] <Lavir> чо
[20:14:15] <ħ> а как делать каскадные запросы в SQL?
[20:15:38] <Lavir> В смысле, через «RECURSIVE»?
[20:15:43] <ħ> д
[20:16:20] <Lavir> Я ХЗ. :)
[20:37:23] <portnov> http://www.welikeviral.com/files/2014/12/Funniest-Animals-1.gif «йа такойже щас например»
[20:45:26] reggies вышел(а) из комнаты
[20:48:17] makhlot вошёл(а) в комнату
[20:49:57] Mr.Purple вышел(а) из комнаты
[20:54:03] makhlot вышел(а) из комнаты
[21:10:46] rexim вошёл(а) в комнату
[21:15:08] <ħ> посоны
[21:42:18] ForNeVeR вышел(а) из комнаты: Disconnected: closed
[21:42:21] ForNeVeR вошёл(а) в комнату
[21:53:05] дырдырдыр вошёл(а) в комнату
[22:02:15] <portnov> Протестующие на Майдане объявили о создании собственного правительства <http://lenta.ru/news/2016/02/21/oveche/>
[22:02:18] ForNeVeR вышел(а) из комнаты: Disconnected: Replaced by new connection
[22:02:19] ForNeVeR вошёл(а) в комнату
[22:02:24] <portnov> а на картинке какие-то бабки
[22:02:36] <portnov> это они править собрались?
[22:02:41] <ħ> да
[22:02:45] <ħ> чо-то посоны
[22:02:49] <ħ> не могу придумать ничего
[22:02:51] <ħ> ничего путного
[22:04:20] ForNeVeR вышел(а) из комнаты: Disconnected: Replaced by new connection
[22:04:20] ForNeVeR вошёл(а) в комнату
[22:07:11] <дырдырдыр> https://lh3.googleusercontent.com/-bqeoAhQcjms/VsGmxcnPjiI/AAAAAAAAYlE/t7VvekBYsfs/w1346-h1930/2016-02-09.jpg
[22:11:18] Bob Page вышел(а) из комнаты
[22:18:22] Аман вышел(а) из комнаты
[22:19:42] none_ вышел(а) из комнаты
[22:26:33] arcade_ вышел(а) из комнаты
[22:26:51] arcade_ вошёл(а) в комнату
[22:27:30] chaser_andrey вышел(а) из комнаты
[22:36:00] edgbla вышел(а) из комнаты
[22:43:04] edgbla вошёл(а) в комнату
[22:46:57] <portnov> sulci: бжжжь.
[22:47:02] <sulci> portnov: про то, что ты пишешь 3-4 слов, чем те, у меня на одном из местного на равные для моих знакомых плюсеров не Белгород из живности ради просмотров?
[22:50:04] makhlot вошёл(а) в комнату
[23:10:59] <ħ> https://www.youtube.com/watch?v=vD2TVCapPhU
[23:11:02] <ħ> ггг
[23:11:09] <ħ> ох лол
[23:11:29] <ħ> Патриарх рулит самолетом
[23:11:36] <ħ> сами бы пилоты не догадались
[23:11:42] <ħ> что делать при разгерметизации
[23:12:36] gr_buza@arbeiten вошёл(а) в комнату
[23:13:14] <ħ> блин
[23:13:19] <ħ> он так рассказывает это
[23:13:23] <ħ> что хочется придумывать еще
[23:13:44] <ħ> типа так
[23:27:40] ħ вышел(а) из комнаты
[23:36:59] makhlot вышел(а) из комнаты
[23:39:37] Бот_Ыук вошёл(а) в комнату
[23:39:42] <Бот_Ыук> хой
[23:40:02] <Бот_Ыук> буэнос ночес
[23:45:03] theconquerorworm вошёл(а) в комнату
[23:47:22] дырдырдыр вышел(а) из комнаты
[23:51:04] portnov вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!