Home
codingteam
codingteam@conference.jabber.ru
31.10.2016< ^ >

Тема: C, С++, D, Java, C#, Haskell, Ruby, Scheme, Common Lisp, Erlang, OCaml, JavaScript, TypeScript, Clojure, Scala, Nemerle, F#, Groovy, R, Rust, Kotlin.
Backup channel: codingteam@conference.codingteam.org.ru
HQ: https://codingteam.org.ru
Код постить сюда: http://lpaste.net/
Логи: http://tinyurl.com/ctcjr-logs
Юным погромцам сюда: http://e-maxx.ru/algo/ , а ещё читать Кнутца, Корменца, Седжвикца и др.
Morning Tsoding (вт, чт, вс, збс): https://twitter.com/tsoding
Let's Dev (когда Капитан на мостике): http://www.youtube.com/playlist?list=PLK6mcZkmN4QTusFvp_0GVtscQbCiIg81Y
http://i.imgur.com/slnyI6a.jpg
[00:12:01] unclechu вышел из конференции
[00:20:33] gsomix вышел из конференции
[00:21:29] eaeee зашёл в конференцию
[01:01:54] a1batross вышел из конференции
[01:01:55] a1batross зашёл в конференцию
[01:02:37] O01eg вышел из конференции
[01:07:41] Kerrigаn вышел из конференции
[01:11:12] Kerrigаn зашёл в конференцию
[01:12:12] Kerrigаn вышел из конференции
[01:12:16] Kerrigаn зашёл в конференцию
[01:16:18] m4n71k0r вышел из конференции
[01:50:59] unclechu зашёл в конференцию
[01:59:39] dzhon вышел из конференции
[02:03:42] <Minoru> обновлённые к Хэллоуину цвета contribution graph на GitHub в сочетании с https://github.com/StylishThemes/GitHub-Dark смотрятся просто волшебно: http://dump.bitcheese.net/images/wixatyx/2016-10-31-010541_1366x768_scrot.png Нужно будет как-то поверх GitHub-Dark ещё один пользовательский стиль влепить, чтобы они такими и оставались (старые синенькие на тёмном фоне еле видно было)
[02:12:11] Славный капитан зашёл в конференцию
[02:13:21] eaeee вышел из конференции
[02:13:22] eaeee зашёл в конференцию
[02:19:10] dzhon зашёл в конференцию
[02:27:48] Славный капитан вышел из конференции
[02:34:35] sss|zombie вышел из конференции
[03:00:56] <ɹǝɟılʍǝu> Minoru, не грузит вторую ссылку(
[03:04:24] <Minoru> ɹǝɟılʍǝu: http://i.imgur.com/xG2B35b.png
[03:04:38] <Minoru> надо бы найти новый хост, на который без проблем можно через Tor заливать
[03:04:41] <ɹǝɟılʍǝu> шик
[03:04:44] <Minoru> или свой открыть!
[03:04:48] nable зашёл в конференцию
[03:06:59] <nable> Ура, я вернулся. Правда, пока что с другого акка, с основного почему-то conference.jabber.ru стал отдавать 404, хотя другие серверы конференций работают. Что-то у меня предположение что дело в том что я слишком много комнат (больше десятка) добавил в auto-join, но хоть бы поясняли как разбаниться и сделать по-нормальному, а то 404 и всё тут..
[03:07:51] <nable> Да, я понимаю что писать это надо не сюда, а в support, пардон, просто на радостях понесло.
[03:09:13] <Minoru> у меня тоже больше десятка конф на автоджойне, но никаких 404 не вылезает
[03:09:23] <Minoru> да и есть ли вообще в XMPP понятие кода 404?
[03:09:39] <Minoru> или это тебе captcha-сервер возвращает, nable?
[03:10:17] eaeee вышел из конференции
[03:11:57] sss|zombie зашёл в конференцию
[03:18:18] <nable> Не, не капча-сервер. 404 пишет Pidgin, сча скажу чего в XML-консоли вываливается.
[03:20:35] <nable> Реально 404. Во: http://pastebin.ca/3734632
[03:22:24] <nable> Важно при этом что у меня не просто много комнат в auto-join, а ещё я и мембером в большей части их них не являюсь. Так-то капчу вводить кучу раз не ломало, но может из-за кучи запросов сервер и решил что надо банить.
[03:30:06] ɹǝɟılʍǝu вышел из конференции
[03:32:18] <Minoru> да уж. Пиши в саппорт, обзаводись мемберами, и спокойной ночи! ^_^
[03:32:19] Minoru вышел из конференции
[03:40:16] ckorzhik зашёл в конференцию
[03:48:05] eaeee зашёл в конференцию
[03:51:22] grouzen вышел из конференции
[03:52:43] dzhon вышел из конференции
[04:16:55] eaeee вышел из конференции
[04:45:35] Славный капитан зашёл в конференцию
[05:01:56] unclechu вышел из конференции
[05:29:30] matraskin зашёл в конференцию
[05:41:51] ckorzhik вышел из конференции
[07:34:23] <ForNeVeR> nable: а ты код показывал?
[07:37:41] <ForNeVeR> send/rexim/А что мы делаем с запросами разрешений для приложений? Вон, Томас хочет GitKraken подключить./
[07:37:43] <horta hell> ForNeVeR: Сообщение помещено в очередь.
[07:37:59] rafaelrs вышел из конференции
[07:39:57] portnov зашёл в конференцию
[07:42:07] Славный капитан вышел из конференции
[07:42:40] portnov вышел из конференции
[08:22:15] gsomix зашёл в конференцию
[08:55:06] gsomix вышел из конференции
[09:05:42] unclechu зашёл в конференцию
[09:15:18] <ForNeVeR> Brutal Doom 64 вчера вышел, котаны!
[09:15:31] <ForNeVeR> http://www.moddb.com/mods/brutal-doom-64
[09:24:42] <uggur> на линухе не пойдёт, небось?
[09:26:23] ɹǝɟılʍǝu зашёл в конференцию
[09:27:30] a1batross вышел из конференции
[09:36:40] <ForNeVeR> А почему?
[09:36:59] <ForNeVeR> Zandronum внезапно перестал работать в линуксе? Не поверю.
[09:38:39] unixorn зашёл в конференцию
[10:01:59] <ForNeVeR> Мне тут подсказали, что рекурсивные CTE на самом деле индуктивные.
[10:02:16] <ForNeVeR> Мы определяем cte(0) и cte(n+1), и получаем отсюда полную картину.
[10:07:07] O01eg зашёл в конференцию
[10:14:29] gsomix зашёл в конференцию
[10:14:37] <gsomix> Утро.
[10:16:05] <gsomix> ForNeVeR, надо поиграть!
[10:16:11] <ForNeVeR> Дыа!
[10:20:07] <gsomix> ForNeVeR, видал, как gmpl разогнался в процессе ускорения вывода типов в F#?
[10:21:24] rafaelrs зашёл в конференцию
[10:22:34] ɹǝɟılʍǝu вышел из конференции
[10:29:33] <ForNeVeR> gsomix: чёт не понимаю, о чём ты говоришь.
[10:29:53] <gsomix> ForNeVeR, https://github.com/Microsoft/visualfsharp/pull/1650 https://github.com/Microsoft/visualfsharp/pull/1685 https://github.com/Microsoft/visualfsharp/pull/1682
[10:30:43] <ForNeVeR> gsomix: а, gmpl это человек.
[10:30:56] <ForNeVeR> Да, последнее время часто вижу такие пул-реквесты, это очень хорошо.
[10:36:21] <gsomix> ForNeVeR, угу, потому что SRTP -- самая медленная штука в F#.
[10:36:47] <gsomix> Я как-то попробовал пример с polyvariadic function.
[10:36:48] <gsomix> Пфф.
[10:36:55] <gsomix> Долго ждал. :)
[10:37:35] RAMZAY зашёл в конференцию
[10:38:21] rexim зашёл в конференцию
[10:39:52] <rexim> > ForNeVeR: А что мы делаем с запросами разрешений для приложений? Вон, Томас хочет GitKraken подключить.
Мы их отклоняем пока человек не научится пользоваться morganey-lang/community и нормально объяснять членам сообщества нахуя он творит всякую хуйню.
[10:40:06] <rexim> Ну, я к тому, что на такой случай надо файлить ишуй с разъяснениями.
[10:40:16] <rexim> Иначе автодеклайн без разговоров.
[10:40:24] <rexim> Я вот хуй знает, что это приложение делает.
[10:40:27] <rexim> Мне оно не надо.
[10:42:05] rexim вышел из конференции
[10:42:08] <ForNeVeR> Я знаю это приложение, но не знаю, зачем ему права в организации.
[10:42:20] <ForNeVeR> Согласен отклонить.
[10:50:17] unclechu вышел из конференции
[10:56:31] <gsomix> ForNeVeR, интересно вот, когда тайпклассы запилят...
[10:56:42] <gsomix> Наверное, в F# 4.1 еще не будет.
[10:57:12] <ForNeVeR> В 4.1 не будет.
[10:57:26] <ForNeVeR> Звучит как фича для ломающего релиза — может, в 5.0 :)
[10:58:05] unclechu зашёл в конференцию
[10:58:09] <gsomix> ForNeVeR, почему ломающего? Потому что надо стандартную библиотеку перевести на тайпклассы?
[10:58:28] <ForNeVeR> Не думаю, что её нужно _перевести_.
[10:58:37] <ForNeVeR> Это было бы слишком ломающе :)
[10:59:09] <ForNeVeR> Просто, ну... это настолько радикальная фича, что наверняка что-нибудь придётся ломать.
[10:59:18] <RAMZAY> what are type classe ?
[10:59:25] <ForNeVeR> Например, поменять модель работы тайп провайдеров.
[10:59:30] <RAMZAY> $s classe classes
[10:59:31] <horta hell> RAMZAY: what are type classes ?
[11:00:17] <ForNeVeR> RAMZAY: это как в Haskell, короче. Я ж вбрасывал недавно — какой-то безумец (в хорошем смысле) форкнул roslyn и visualfsharp и допиливает туда поддержку тайпклассов.
[11:01:06] <RAMZAY> я хз как в хаскеле =)
[11:01:32] <ForNeVeR> RAMZAY: считай, что это интерфейс, реализацию которого можно добавить к классу, не имея исходников самого класса.
[11:01:36] <ForNeVeR> Накладной интерфейс.
[11:02:09] <RAMZAY> 0_о
[11:02:12] <ForNeVeR> Вот, скажем, я изобрёл интерфейс IArithmetic, и хочу добавить его реализацию для стандартных классов Int32 и Double.
[11:03:07] <RAMZAY> ForNeVeR: кстати, а я вот вот не втыкнул в F#'повские type
[11:03:58] <gsomix> RAMZAY, в какие именно? Их там много разных. :)
[11:04:44] <ForNeVeR> В том-то и шутка (неприятная), что все объявляются одним и тем же ключевым словом type :)
[11:04:52] O01eg вышел из конференции
[11:04:53] <gsomix> RAMZAY, https://fsharpforfunandprofit.com/posts/overview-of-types-in-fsharp/
[11:04:58] <RAMZAY> вот к примеру объявляют
type t = x of int | y of string | z of int * int
type s = {x: int, y: string,z: int * int}
[11:05:12] <RAMZAY> в чём разница между ними то ?
[11:05:19] <unclechu> это жи как в data в хаскеле есть?
[11:05:25] <ForNeVeR> Первый это сумма, а второй произведение.
[11:05:27] <RAMZAY> один production, второй sum
[11:05:30] <RAMZAY> или наоборот
[11:05:41] <RAMZAY> а ок
[11:05:57] ɹǝɟılʍǝu зашёл в конференцию
[11:06:02] <RAMZAY> ForNeVeR: а какая принципиальная между ними разница?
[11:06:21] <RAMZAY> или это только нотация объявления и она не на что в дальнейшем не влияет ?
[11:06:31] <ForNeVeR> RAMZAY: принципиальная разница: первое это _один из_ вариантов x, y, z, а второй это _все сразу_ x, y и z.
[11:06:39] <RAMZAY> яннп
[11:06:40] <gsomix> RAMZAY, можешь представлять тип t как улучшенный enum.
[11:07:13] <gsomix> То есть значение типа t может быть или x of int, или y of string, или z of int*int.
[11:07:36] <gsomix> RAMZAY, https://fsharpforfunandprofit.com/posts/discriminated-unions/
[11:07:40] <gsomix> Вот, почитай.
[11:07:48] <RAMZAY> хм, ок
[11:08:02] <gsomix> Ну, и читай этот сайт дальше, там хорошо написано.
[11:08:08] <RAMZAY> я его и читаю
[11:08:34] <RAMZAY> Вот до сюда дошел за выходные
https://fsharpforfunandprofit.com/posts/key-concepts/
[11:08:58] <ɹǝɟılʍǝu> Утров
[11:09:23] <RAMZAY> ну и да, а почему потом юзают вот так
let i = x 55
[11:09:33] <RAMZAY> я думал type == class из C#
[11:09:41] <ForNeVeR> RAMZAY: нет.
[11:10:01] <ForNeVeR> type — это как минимум ещё и struct, и interface, и enum.
[11:10:13] <ForNeVeR> Скорее всего, delegate тоже можно к этой жа категории отнести.
[11:10:21] <RAMZAY> я думал создают потом экземпляр t либо s и погнали
[11:10:34] <ForNeVeR> Нет, не совсем.
[11:10:54] <ForNeVeR> В случае t ты создаёшь экземпляры x, y или z.
[11:10:57] <RAMZAY> для меня очень странно было увидеть, что используют его свойства, а не сам тип
[11:11:00] <ForNeVeR> У тебя три варианта, как создать t.
[11:11:02] <ForNeVeR> Это не свойства!
[11:11:06] <RAMZAY> о_0
[11:11:09] <RAMZAY> а что это ?
[11:11:15] <ForNeVeR> Конструкторы.
[11:11:19] <RAMZAY> шта
[11:11:23] <unclechu> конструкторы типов
[11:11:28] <unclechu> конструкторы значений
[11:11:33] <unclechu> тратататата
[11:12:09] * RAMZAY сделал {бум}
[11:12:21] <RAMZAY> вот теперь я совсем нефига не понимаю
[11:12:38] <RAMZAY> а нафига нам конструкторы ?
[11:12:50] <gsomix> RAMZAY, представляешь себе, как выглядит enum в C#?
[11:12:51] <unclechu> RAMZAY, тебе нужно выкупить что это совсем не как в c#, или не совсем
[11:12:52] <ForNeVeR> Ну, это у автора кода нужно спрашивать.
[11:13:36] <RAMZAY> а дак а нафиг нам тогда свои типы делать, если есть стандартные?
[11:13:46] <RAMZAY> просто, ну, если они ничего не дают
[11:13:55] <ɹǝɟılʍǝu> Беда http://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.txt
[11:14:09] <ForNeVeR> RAMZAY: какие стандартные-то? Непонятно, о чём ты говоришь.
[11:14:14] <ɹǝɟılʍǝu> MySQL можно было загрузить файл и запустить. Через SELECT.
[11:14:17] <RAMZAY> int,string,float...
[11:14:25] <ForNeVeR> Я не знаю стандартного типа, который принимает или int, или string, или float.
[11:14:38] <RAMZAY> 0_o
[11:15:14] <RAMZAY> я чот совсем не понимаю систему типизации в F#
[11:15:31] <gsomix> Строгая, статическая. :)
[11:16:44] <RAMZAY> наверное всё кроется в этих "sum" и "product" типах
[11:17:05] <RAMZAY> и в понимании, как они работают
[11:17:09] <ɹǝɟılʍǝu> ForNeVeR, any?
[11:17:59] <RAMZAY> ибо сейчас я вижу разницы между "sum" и "product" как и в целом, зачем эти типы, если это не классы.
[11:18:54] <gsomix> RAMZAY, забудь про классы. Классы -- это скорее для общения с C# кодом.
[11:19:58] <RAMZAY> ок
[11:20:00] <gsomix> Идиоматичные для F# -- это как раз records (product types) и discriminated unions (sum types).
[11:20:02] <ForNeVeR> ɹǝɟılʍǝu: any слишком широкий тип.
[11:20:03] unixorn вышел из конференции
[11:20:11] <gsomix> RAMZAY, что из себя представляет record, ты понимаешь?
[11:20:17] <ɹǝɟılʍǝu> ForNeVeR, тогда int | string | float
[11:20:22] <ɹǝɟılʍǝu> Слава типам-суммам!
[11:20:37] <RAMZAY> gsomix: ну я пока знаю только как они визуально отличаются при объявлении
[11:20:40] <gsomix> RAMZAY, я вот про это: type s = {x: int, y: string,z: int * int}
[11:20:44] <RAMZAY> больше я ничего о них не знаю
[11:20:51] <gsomix> RAMZAY, вот в чем проблеа.
[11:20:53] <ɹǝɟılʍǝu> RAMZAY, а в чём ваще вопрос?
[11:21:03] <gsomix> Тебе нужно посмотреть способы использования тех и других типов.
[11:21:08] <gsomix> И может самому поэкспериментировать.
[11:21:12] <RAMZAY> ок
[11:21:19] unixorn зашёл в конференцию
[11:22:00] <RAMZAY> ɹǝɟılʍǝu, та ничего, я просто F# начал учить =)
[11:22:40] <RAMZAY> gsomix: у меня просто первая мысль когда я увидел эти типы, то подумал "а, дак вот как в f# классы объявляются"
[11:23:03] <RAMZAY> а тут оказывается не всё так просто =)
[11:23:03] <gsomix> RAMZAY, но record тебе должен быть понятен. По сути они довольно близки к структурам.
[11:23:04] <unclechu> RAMZAY, о нет, братишка, это всем не те "классы"
[11:23:26] <RAMZAY> unclechu: я уже понял =)
[11:24:02] <ForNeVeR> unclechu: там нету "тех" классов, так что пофиг.
[11:24:12] <gsomix> RAMZAY, просто штука, которая хранит в себе данные. Вот твой тип s хранит целое, строку и кортеж из двух целых.
[11:24:21] <gsomix> Здесь, я думаю, все понятно.
[11:24:45] <ForNeVeR> Ну то есть type в F# более или менее, примерно на 80% совпадает с class в C#. Но вводит довольно разнообразные дополнительные семантики для представления функциональных штук.
[11:25:12] <RAMZAY> gsomix: что, прямо одновременно хранит?
[11:25:22] <ForNeVeR> RAMZAY: ну, как структура!
[11:25:46] <gsomix> Ага.
[11:25:58] <RAMZAY> а почему не как класс? 0_о
[11:26:00] <ForNeVeR> RAMZAY: {x: int, y: string,z: int * int} это почти то же самое, что структура с тремя полями.
[11:26:02] <RAMZAY> или тут пофигу
[11:26:02] <ɹǝɟılʍǝu> Забавно.
[11:26:06] <ForNeVeR> RAMZAY: пофигу.
[11:26:06] <ɹǝɟılʍǝu> А вы знали, что есть wint_t?
[11:26:11] <ɹǝɟılʍǝu> И это стандартный тип.
[11:26:17] <ForNeVeR> ɹǝɟılʍǝu: нет, что это такое за чёорт?
[11:26:25] <gsomix> RAMZAY, пока пофиг.
[11:26:28] <ɹǝɟılʍǝu> ForNeVeR, http://www.cplusplus.com/reference/cwchar/wint_t/
[11:26:32] <ɹǝɟılʍǝu> Это для wchar_t
[11:26:34] <ɹǝɟılʍǝu> ._.
[11:26:46] <gsomix> RAMZAY, то есть как оно перекладывается на CIL и выглядит из C# -- другой вопрос.
[11:26:52] <gsomix> Пока думай об это как о структуре.
[11:26:54] <ForNeVeR> ɹǝɟılʍǝu: ого!
[11:27:00] <RAMZAY> gsomix: ок
[11:27:01] <ɹǝɟılʍǝu> Только я ваще хз нафик он.
[11:27:15] <ɹǝɟılʍǝu> Если может быть и как алиас на wchar_t, так и хуй пойми чего.
[11:27:22] <ForNeVeR> gsomix: на самом деле, большинство конструкций F# (кроме инлайнов) из C# выглядят более-менее благодатно.
[11:27:44] <ɹǝɟılʍǝu> ForNeVeR, но есть ещё и это http://www.cplusplus.com/reference/cwctype/wctype_t/
[11:27:49] <RAMZAY> gsomix: меня вводит в заблуждение ещё нотация, что мы объявляем отдельно то что в {...}
[11:27:58] <gsomix> ForNeVeR, знаю, я о том, что record -- это нифига не структура, а таки класс...
[11:28:07] <gsomix> Плевать. :)
[11:28:18] <RAMZAY> я ожидал вообще
s g = 1 "foo" (5,10)
[11:28:19] <ForNeVeR> gsomix: кажись, есть атрибут, которым можно превратить в структуру.
[11:28:23] <unclechu> RAMZAY, только теперь осознай, что x, y и z - это ещё и функции-конструкторы значений типа t
[11:28:26] <gsomix> ForNeVeR, в F# 4.1
[11:28:52] <ForNeVeR> gsomix: а, лол, он в 4.0 не работает, вот оно чо.
[11:28:54] <gsomix> unclechu, я думаю, ты объясняешь непонятно.
[11:29:04] <ForNeVeR> gsomix: ну, для других типов зато можно :)
[11:29:33] <ForNeVeR> unclechu: обожди, мы пока до типов-сумм не добрались.
[11:30:09] <gsomix> RAMZAY, давай теперь о discriminated unions (sum types)?
[11:30:22] <ɹǝɟılʍǝu> A character literal that begins with u8, such as u8’w’, is a character literal of type char, known as a UTF-8
character literal. The value of a UTF-8 character literal is equal to its ISO 10646 code point value, provided
that the code point value is representable with a single UTF-8 code unit (that is, provided it is in the C0
Controls and Basic Latin Unicode block). If the value is not representable with a single UTF-8
[11:30:30] <ɹǝɟılʍǝu> Всё, теперь буду юзать u8 везде
[11:30:40] <ɹǝɟılʍǝu> Где есть возможность, конечно.
[11:31:25] <RAMZAY> gsomix: можно уточнить про то, почему у нас всёравно мы объявляем
let foo = x 5 //в не зависимости от product или sum
[11:31:43] <RAMZAY> или же я что-то спутал?
[11:31:48] <gsomix> RAMZAY, с чего ты решил, что в независимости?
[11:31:54] <RAMZAY> значит спутал
[11:32:09] <RAMZAY> да, спутал, сори
[11:32:28] <RAMZAY> да, в целом разобрался
[11:32:40] <gsomix> type s = {x: int, y: string,z: int * int}
let value:s = {10, "ololo", (-1, 1)}
[11:32:46] <gsomix> Вот как работают с records.
[11:32:57] <RAMZAY> gsomix: а почему у них столько названий?
[11:33:03] <gsomix> У кого?
[11:33:10] <RAMZAY> Я потерялся в этих product / record
[11:33:22] <RAMZAY> почему их по разному называют?
[11:33:22] <gsomix> Ну, record -- это название конкретно в F#.
[11:33:41] <RAMZAY> а почему на сайте "product" ?
[11:33:42] <gsomix> А product -- это из теории типов.
[11:33:50] <RAMZAY> ам, ну ок.
[11:34:11] <gsomix> RAMZAY, к sum types переходим?
[11:34:15] <RAMZAY> угу
[11:34:27] <gsomix> RAMZAY, помнишь enum в C#?
[11:34:30] <RAMZAY> да
[11:34:52] <gsomix> Давай от них плясать.
[11:35:03] <gsomix> Пусть есть enum t {x, y, z};
[11:35:35] <gsomix> RAMZAY, как создать значение типа t в C#?
[11:36:39] <RAMZAY> нууу t.x or t.y or t.z
[11:36:54] <RAMZAY> с (int), если мы хотим циферку
[11:37:27] <gsomix> RAMZAY, какой тип на самом деле скрывается за t.x, t.y, t.z?
[11:37:36] <RAMZAY> int
[11:37:50] <gsomix> RAMZAY, на какой тип его можно поменять, например?
[11:38:15] <RAMZAY> хм, вот не разу не менял
[11:38:21] <RAMZAY> интересный вопрос
[11:38:28] <gsomix> RAMZAY, enum t: byte {x, y, z} и все такое
[11:38:36] <gsomix> byte, sbyte, short, ushort, int, uint, long, or ulong.
[11:38:56] <RAMZAY> любой числовой, ясно.
[11:39:06] <gsomix> RAMZAY, а теперь представь, что ты можешь поменять его на вообще любой тип.
[11:39:26] <RAMZAY> хм
[11:39:47] <gsomix> При этом для x ты можешь сделать тип int, для y тип string, для z -- Tuple<int, int>
[11:40:51] <unclechu> по-моему это не так важно, RAMZAY представь что тип int (8-битный к примеру) - это enum от всех чисел в пределах 8-и бит, типа
enum int8 { -256, -255, -254, -253 ... -1, 0, 1, 2 ... 254, 255 }
[11:41:24] <gsomix> Ну, не важно, так не важно.
[11:42:18] <gsomix> Хотите через множества объяснять -- пожалуйста.
[11:42:35] <gsomix> Но я не считаю, что это понятнее для человека с C#-бекграундом.
[11:43:02] <unclechu> я просто думаю, что в противном случае это объяснение уведёт дальше от чистых абстракций к реальным явлениям, что усложнит понимание
[11:43:05] <RAMZAY> gsomix: ок, а почему они объявляются по отдельности?
[11:43:13] <RAMZAY> а не все разом, как record type ?
[11:43:42] <gsomix> unclechu, как знаешь, можешь продолжать объяснения.
[11:44:04] <gsomix> Чистые абстракции...
[11:46:26] <RAMZAY> в целом я понял всё что вы рассказали, спасибо
[11:47:52] <RAMZAY> но вот enum мы объявляем ведь в С# сразу весь, сразу с типами, но вот тут придётся делать вот так
let t1 = x 5
let t2 = "foo"
let t3 = (3,7)
[11:48:12] <RAMZAY> упс, забыл x и y для t2 и t3
[11:48:23] <RAMZAY> y z *
[11:48:40] <RAMZAY> let t1 = x 5
let t2 = y "foo"
let t3 = z (3,7)
[11:49:22] m4n71k0r зашёл в конференцию
[11:50:08] <RAMZAY> мой мозг тогда ожидак что-то типа
let tObj = x 5 | y "foo" | z (3,7)
[11:50:22] <RAMZAY> $s ожидак ожидал
[11:50:24] <horta hell> RAMZAY: мой мозг тогда ожидал что-то типа
let tObj = x 5 | y "foo" | z (3,7)
[11:50:28] <gsomix> RAMZAY, http://pastebin.com/eN3gZL03
[11:50:29] <gsomix> Сравни.
[11:50:45] <gsomix> Опустим пока типы для x, y, и z.
[11:51:27] <RAMZAY> а, это мы получаем так только значения ?
[11:52:42] <gsomix> Да.
[11:53:24] <gsomix> RAMZAY, http://pastebin.com/2f0iNgDF
[11:54:08] <RAMZAY> хм
[11:56:33] <RAMZAY> в целом понятно
[11:56:49] <RAMZAY> осталось понять, для чего это нужно применять
[11:57:19] <gsomix> RAMZAY, самые простые примеры, которые приходят в голову -- списки и option.
[11:59:24] <RAMZAY> ок, в целом теперь понятно что к чему
[12:05:20] <RAMZAY> эх, писать бы в продакшене на F#
[12:05:52] <nable> ForNeVeR: его в прошлый раз аж без меня нашли.
[12:07:09] <ForNeVeR> Ок, верю.
[12:07:14] <ForNeVeR> .member nable
[12:07:15] <DeadBot> ForNeVeR: ok
[12:07:30] <nable> Благодарю!
[12:08:15] <nable> Если что, этот акк и nable@jabber.mipt.ru - одна и та же тушка. Т.е. я.
[12:08:50] <nable> По идее, это очевидно, но на всякий случай уточняю.
[12:09:22] <ForNeVeR> nable: да, я понял. Впрочем, посмотреть в мемберлист в поисках прошлых аккаунтов поленился :)
[12:09:28] <ForNeVeR> Я тебя помню.
[12:20:34] <Kerrigаn> утреца цодингтим
[12:20:51] <Kerrigаn> увидел статью про SOM, сразу подумал, что это octagram
[12:20:54] <Kerrigаn> так оно и есть
[12:24:41] <ForNeVeR> Что такое SOM?
[12:25:45] <Kerrigаn> какой-то древний артефакт произошедший от COM и утерянный в веках
[12:26:40] <ForNeVeR> Казалось бы, при чём тут octagram?
[12:26:48] <ForNeVeR> Это же сайтик с фотографиями и нейросетями, да?
[12:27:55] <Kerrigаn> octagram это такой персонаж с жуйка
[12:28:51] <Kerrigаn> который этот самый SOM форсит
[12:32:33] <ForNeVeR> Чего.
[12:33:54] <Kerrigаn> http://juick.com/OCTAGRAM/?tag=som
[12:33:57] <Kerrigаn> такое
[12:45:20] <ForNeVeR> Это у него ироничные заметки про COM такие?
[12:45:33] <Kerrigаn> мне кажется он серьезно в это верит
[12:45:34] <ForNeVeR> Ну то есть это он траллит? SOM-Delphi и всё такое?
[12:46:58] <gsomix> Не думаю. А что такого?
[12:48:20] <ForNeVeR> Странно это.
[12:48:37] <gsomix> Ну, человек в чем-то шарит и этим занимается.
[12:48:42] <gsomix> Мимо мейнстрима.
[12:48:45] <gsomix> Бывает.
[12:48:54] <ForNeVeR> Ладно, пускай занимается, если ему интересно.
[12:49:32] <ForNeVeR> Я недолюбливаю Delphi из-за её платности, вот и всё :(
[12:49:56] <Kerrigаn> всегда есть лазарус //хехехе
[12:50:59] <ForNeVeR> А он в винде есть?
[12:51:04] <Kerrigаn> да
[12:51:32] <ForNeVeR> А он вообще живой ещё? Ну, хотя бы редкие релизы бывают?
[12:51:39] <ForNeVeR> Если да, тогда ок.
[12:51:49] <Kerrigаn> в феврале последний релиз был
[12:51:56] <ForNeVeR> Сгодится.
[12:53:07] sss|zombie вышел из конференции
[12:53:16] <Kerrigаn> https://github.com/graemeg/lazarus/commits/upstream вполне живо коммитят
[12:57:39] <ɹǝɟılʍǝu> Kerrigаn, они в svn что ли живут?
[12:58:40] <Kerrigаn> нет
[13:07:15] <ForNeVeR> А с них сталось бы!
[13:07:28] <ForNeVeR> Kerrigаn: ну вообще-то зеркало из git-svn.
[13:08:05] <Kerrigаn> я не вижу актуального свн
[13:08:43] <ForNeVeR> Ок, я тоже. На сурсфорже старый код.
[13:09:20] <ForNeVeR> Не люблю вот эти старые проекты — засунут код куда-нибудь в жопу, а ты ищи его тамю
[13:09:28] <ForNeVeR> s/мю/м./
[13:09:30] <horta hell> ForNeVeR: Не люблю вот эти старые проекты — засунут код куда-нибудь в жопу, а ты ищи его там.
[13:10:05] <ForNeVeR> http://wiki.lazarus.freepascal.org/index.php/Getting_Lazarus#Getting_Lazarus_SVN_development_version
[13:10:12] <gsomix> ForNeVeR, https://github.com/golang/go/pull/9220
[13:10:32] <ForNeVeR> gsomix: ну и пусть.
[13:11:41] <gsomix> ForNeVeR, ну, вот Go -- не старый проект.
[13:11:59] <ForNeVeR> gsomix: дак у них и код видно, старина!
[13:12:24] <gsomix> ForNeVeR, дак и у лазуруса видно на гитхабе.
[13:12:39] <ForNeVeR> gsomix: с сайта лазаруса нету ссылки на гитхаб, это неофициальное зеркало.
[13:12:48] <gsomix> А, ок.
[13:12:55] <ForNeVeR> У лазаруса очень сложно в принципе найти исходники в разработке.
[13:13:14] <gsomix> ForNeVeR, ладно, я просто не люблю проекты, которые не на гитхабе/гитлабе/бакете.
[13:13:15] <ForNeVeR> Там есть ссылка на сурсфорж, в котором *есть* исходники, но они старые. Это сильно запутывает ситуацию.
[13:13:40] <ForNeVeR> И только в подвале есть ссылка на вики, в которой есть ссылка на нормальный SVN.
[13:14:03] <ForNeVeR> gsomix: я тоже не люблю. Контрибьютить в такие проекты очень неудобно.
[13:14:08] <gsomix> Угу.
[13:14:50] <ForNeVeR> Ну то есть все вот эти гитхабы — они же для того, чтоб людям было просто законтрибьютить.
[13:15:19] <ForNeVeR> Политику go оценивать не берусь. Может, у них тоже просто, но воркфлоу гитхаба им не подходит почему-то.
[13:16:31] <ForNeVeR> Ну то есть мне не нравится и кажется неудобным, но осуждать не буду.
[13:17:34] <gsomix> ForNeVeR, https://golang.org/doc/contribute.html
[13:17:39] <gsomix> tl;dr
[13:18:35] <ForNeVeR> Ну, там можно разобраться, коли охота :)
[13:18:51] <ForNeVeR> Прочитал по-диагонали — вроде несложно.
[13:19:00] <ForNeVeR> Но намного муторнее, чем через гитхаб!
[13:19:14] <ForNeVeR> gsomix: я как-то раз в bzr контрибьютил...
[13:19:21] <ForNeVeR> Вот там полная жопа!
[13:19:48] <ForNeVeR> Всё работает очень плохо, некоторые вещи нужно вручную подпинывать, какой статус у пул-реквеста — вообще непонятно.
[13:19:55] <ForNeVeR> Я не знаю, смержили его или нет.
[13:20:52] <gsomix> Ох.
[13:29:59] <gsomix> ForNeVeR, а ты осилил sig файлы в F#?
[13:30:12] <ForNeVeR> gsomix: это fsi которые?
[13:30:21] <gsomix> Ага.
[13:30:42] <ForNeVeR> Я их несколько раз встречал (один раз даже у тебя, лол), но сам не использую. И не могу понять, зачем они нужны.
[13:31:20] <ForNeVeR> Я просто привык аннотировать типы для публичных символов каждого модуля, и считаю, что этой документации достаточно.
[13:33:34] <ForNeVeR> Причём эта практика себя хорошо рекомендует не только в F#, но и в других языках с разноуровневым выводом типов (e.g. Haskell, Frege).
[13:39:05] 2tsun4u зашёл в конференцию
[13:48:58] <gsomix> ForNeVeR, ну, это один из вариантов указать какие функции в модуле публичные, а какие -- нет.
[13:54:49] <ForNeVeR> public :)
[13:55:19] <ForNeVeR> gsomix: а этот fsi как-то меняет семантику кода? Делает всё, чего в нём нету, приватным?
[13:55:36] <gsomix> ForNeVeR, да.
[14:01:32] <gsomix> ForNeVeR, мне кажется, что это довольно удобно и наглядно.
[14:01:38] <gsomix> Но надо научиться их писать.
[14:02:03] <ForNeVeR> А мне что-то не нравится. Я предпочитаю всё в одном файле иметь, перед глазами чтоб.
[14:03:47] <gsomix> ForNeVeR, а пользователям твоего кода?
[14:04:02] <ForNeVeR> А они пускай в декомпилят смотрят :)
[14:04:11] <ForNeVeR> Он им сразу fsi и покажет.
[14:07:08] <gsomix> ForNeVeR, суровый ты дядька.
[14:07:28] <ForNeVeR> :(
[14:07:45] <ɹǝɟılʍǝu> Overload resolution is performed on a function call created by assembling an argument list. The first
argument is the amount of space requested, and has type std::size_t. If the type of the allocated object
has new-extended alignment, the next argument is the type’s alignment, and has type std::align_val_t. If
the new-placement syntax is used, the initializer-clauses in its expression-list are the succeeding arguments.
If no matching function is found and the allocated object type has new-extended alignment, the alignment
argument is removed from the argument list, and overload resolution is performed again.
[14:07:47] <ɹǝɟılʍǝu> Ништяк
[14:08:39] <gsomix> ForNeVeR, в общем, мне fsi кажется правильной вещью.
[14:08:45] <gsomix> Надо у себя не забыть сделать.
[14:08:57] <ForNeVeR> Ну, ежели считаешь, что нужно — давай делать.
[14:09:26] <ForNeVeR> Хотя б для того, для чего сможем (а у нас такого немного вообще-то).
[14:09:59] <gsomix> =__=
[14:10:20] <ɹǝɟılʍǝu> unless an allocation function has a non-throwing exception specification (15.4), it indicates failure to
allocate storage by throwing a std::bad_alloc exception (3.7.4.1, Clause 15, 18.6.3.1); it returns a non-null
pointer otherwise.
[14:10:23] <ɹǝɟılʍǝu> Вот же сука.
[14:10:35] <ɹǝɟılʍǝu> В тесте на brainbench был вопрос, что вернёт new
[14:10:43] <ɹǝɟılʍǝu> Если не смог саллоцировать память.
[14:11:09] <ForNeVeR> ɹǝɟılʍǝu: вам по внеклассному чтению задали выучить стандарт C++?
[14:11:10] <ɹǝɟılʍǝu> А ведь судя по стандарту, он может и исключение бросить и nullptr вернуть, в зависимости от реализации.
[14:11:16] <ɹǝɟılʍǝu> ForNeVeR, дя!
[14:12:52] <ɹǝɟılʍǝu> Пардоньки
[14:12:55] <ɹǝɟılʍǝu> Неполная цитата
[14:12:59] <ɹǝɟılʍǝu> unless an allocation function has a non-throwing exception specification (15.4), it indicates failure to
allocate storage by throwing a std::bad_alloc exception (3.7.4.1, Clause 15, 18.6.3.1); it returns a non-null
pointer otherwise. If the allocation function has a non-throwing exception specification, it returns null to
indicate failure to allocate storage and a non-null pointer otherwise. — end note
[14:19:11] matraskin вышел из конференции
[14:25:20] 2tsun4u вышел из конференции
[14:35:38] grouzen зашёл в конференцию
[14:42:52] Graf зашёл в конференцию
[14:50:30] <ɹǝɟılʍǝu> ForNeVeR, https://github.com/dmgerman/ninka
[14:51:17] <ForNeVeR> ɹǝɟılʍǝu: чо такое Groff?
[14:51:48] <ɹǝɟılʍǝu> ForNeVeR, я хз, нашёл по гитхабу.
[14:52:06] <ɹǝɟılʍǝu> https://linux.die.net/man/7/groff
[15:06:15] unclechu вышел из конференции
[15:35:28] <gsomix> ForNeVeR, дождаться бы еще типов и модулей, которые умеют друг на друга ссылаться. :)
[15:35:36] <gsomix> Будет совсем няшно.
[15:38:39] <ForNeVeR> Ну, ты и щас можешь через and...
[15:39:25] <gsomix> ForNeVeR, где?
[15:39:35] <ForNeVeR> gsomix: э, в F#?
[15:39:52] <gsomix> Не могу.
[15:39:58] <gsomix> Это же фича F#4.1
[15:40:11] <ForNeVeR> type A = { b : B }
and B = { a : A };;
[15:40:25] <gsomix> А тип+модуль?
[15:40:38] <ForNeVeR> Вот с модулями никогда не пробовал, щя.
[15:41:27] <ForNeVeR> Хрен знает, с модулем не вышло.
[15:42:07] <gsomix> ForNeVeR, https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1009-mutually-referential-types-and-modules-single-scope.md
[15:42:13] <gsomix> Я вот про это
[15:42:22] <ForNeVeR> Да, я знаю про rec-типы и модули.
[15:42:39] <ForNeVeR> Ещё бы rec assembly, эх!
[15:43:49] <gsomix> ForNeVeR, а зачем?
[15:44:05] <ForNeVeR> А чтоб файлы внутри сборки не сортировать.
[15:44:18] <gsomix> А, тю.
[15:44:30] <gsomix> Я пока не сформировал свое отношение к этому.
[15:48:33] <gsomix> ForNeVeR, чисто теоретически мне нравится идея о линейном порядке компиляции.
[15:48:54] <gsomix> Но на практике, наверное, это не очень удобно.
[15:48:54] <ForNeVeR> А с практической точки зрения гемор.
[15:49:03] <ForNeVeR> Ну, не то чтобы очень уж большой.
[15:49:07] <ForNeVeR> Но гемор.
[15:51:42] <ForNeVeR> gsomix: а я сегодня листал дайджест и мельком поправил опечатку в очередном RFC ,3
[15:51:52] <gsomix> Хм.
[15:51:54] <gsomix> А я забыл!
[15:51:56] <gsomix> Почитать.
[15:52:06] <gsomix> Щяс...
[15:52:10] <ForNeVeR> Там не шибко интересно, на прошлой неделе лучше был.
[15:58:23] <gsomix> Ну да, так.
[15:58:48] <gsomix> https://github.com/pocketberserker/ComVu
[15:58:58] <gsomix> ForNeVeR, ^
[15:59:02] <gsomix> Ничего не понятно. :)
[15:59:35] <gsomix> Но сам pocketberserker -- дикий японский чувак.
[16:00:06] <gsomix> Всякие штуки портирует в F#.
[16:00:10] <ForNeVeR> Да хоть бы чуть понятней написал — мы бы ему помогли!
[16:02:10] <gsomix> ForNeVeR, https://github.com/polytypic/FsiRefGen
[16:02:27] <gsomix> ForNeVeR, есть что-нибудь еще для доков?
[16:02:39] <ForNeVeR> gsomix: FSharp.Formatting
[16:02:59] <ForNeVeR> gsomix: вот такую ботву генерирует: https://fornever.github.io/Jabber-Net/reference/index.html
[16:03:19] <gsomix> Неплохо.
[16:03:38] <ForNeVeR> По F#-исходникам ещё лучше можно (со ссылками на код).
[16:03:46] <gsomix> А та штука вот такую: http://hopac.github.io/Hopac/Hopac.html
[16:03:50] <ForNeVeR> У меня просто C#, поэтому я по бинарникам генерирую.
[16:30:40] <gsomix> RAMZAY, а ты дженерик функции уже заценил в F#?
[16:31:09] <RAMZAY> gsomix: нит, а шо там?
[16:32:20] <gsomix> RAMZAY, ну, там можно писать функции, тайп параметры которых будут разрешаться во время компиляции.
[16:32:29] <gsomix> https://docs.microsoft.com/en-us/dotnet/articles/fsharp/language-reference/generics/statically-resolved-type-parameters
[16:34:02] <ForNeVeR> gsomix: я десять лет писал на F#, не юзая этой фичи!
[16:34:55] <gsomix> ForNeVeR, хм, кажется, это было самое первое, что я попробовал в F#.
[16:35:53] <gsomix> ForNeVeR, стой, ты видел F#1.x?
[16:36:26] <ForNeVeR> Хммм, нет, не думаю.
[16:36:44] <gsomix> 2.0 вышел лет пять назад.
[16:38:01] <ForNeVeR> gsomix: ну чего ты всё так буквально воспринимаешь! Да мне лет столько нету!
[16:38:10] <gsomix> Как нету?
[16:38:11] <gsomix> Тебе 12!
[16:38:13] <gsomix> Же.
[16:38:16] <gsomix> Нет?
[16:39:31] <ForNeVeR> Это всё борода, она меня старит!
[16:41:23] <RAMZAY> какая необычная фича
[16:41:45] <RAMZAY> интересная реализация дженериков
[16:42:00] <ForNeVeR> Это не то же самое, что генерики.
[16:42:16] <RAMZAY> ну ок
[16:42:18] <ForNeVeR> Обычные генерики из CLI там работают по-обычному, и они там полноценно доступны.
[16:57:20] ckorzhik зашёл в конференцию
[16:57:35] <gsomix> ForNeVeR, сижу, думаю, как бы мне переписать мои массивы без generated type provider.
[16:58:07] <gsomix> Но с erased.
[16:59:20] <gsomix> Где мы мне хранить размер массива (тупль неизвестного размера)?
[17:00:02] <ForNeVeR> Возможно ли это?
[17:01:25] <gsomix> ForNeVeR, не знаю. Нужно что-то типа NDArray<'t, 's, 'ndims>, но чтобы 's выводился автомагически.
[17:01:41] <gsomix> 's -- это как раз тип тупля-размера.
[17:01:47] <ForNeVeR> gsomix: а почему ты не хочешь generated type provider?
[17:02:01] <gsomix> ForNeVeR, потому что приходится заранее типы объявлять.
[17:02:23] <ForNeVeR> Но ведь в генерируемом типе весь профит!
[17:02:33] <ForNeVeR> Я не считаю, что от него целесообразно отказываться.
[17:04:07] <gsomix> ForNeVeR, ну, профит только в том, что там хранится размер.
[17:04:39] <ForNeVeR> Это очень большой профит. Жыт потом по этому размеру всё заинлайнит.
[17:04:53] <ForNeVeR> Без этого, я думаю, хрен мы получим высокое быстродействие.
[17:04:58] <gsomix> Думаешь?
[17:05:14] <gsomix> Я не верю, что в текущей реализации это получится.
[17:05:18] <gsomix> Ведь размер -- это тупль.
[17:05:22] <gsomix> Хоть и генерируемый.
[17:06:29] <ForNeVeR> А туполь это структура фиксированного лейаута и с фиксированным количеством членов.
[17:06:32] <ForNeVeR> Я думаю, что получится.
[17:06:43] <ForNeVeR> Плюс, у нас же индексатор прекрасно генерируется.
[17:06:51] <gsomix> Ага.
[17:07:09] <ForNeVeR> В erased types ты этим всем пожертвуешь ради непонятного профита.
[17:07:18] <gsomix> ForNeVeR, а я вот не понимаю этого момента.
[17:07:21] <ForNeVeR> Не годится, или я требую бенч.
[17:07:38] <gsomix> Я же в erased types пишу то же самое, а дальше магия-магия-магя.
[17:07:46] <gsomix> Ну, ок.
[17:08:12] <ForNeVeR> Ну, и надо бы разобраться, что там вообще будет происходить в этом erased type provider :)
[17:08:29] <ForNeVeR> Магия по факту это инлайнинг всего.
[17:08:45] <ForNeVeR> Ну, насколько я помню по результатам использования XML Type Provider.
[17:08:59] <ForNeVeR> В частности, это может создавать проблемы на границах модулей и языков.
[17:09:07] <ForNeVeR> Ты не можешь из модуля нормально вернуть свой тип.
[17:09:33] <ForNeVeR> Я так понимаю, generated type provider позволит вернуть матрицу в C#-код, и там с ней работать _как минимум_ как с opaque type.
[17:10:11] <gsomix> ForNeVeR, ну, я рассчитывал изначально на F#-only.
[17:10:22] <gsomix> Ладно. :)
[17:10:30] <gsomix> Надо чем-нибудь другим заняться.
[17:10:42] <ForNeVeR> Я не говорю, что это наш основной сценарий использования, а просто как дополнительный аргумент привожу.
[17:10:55] <ForNeVeR> Не считаю, что стоит слишком уж сильно заботиться об C# в данном случае.
[17:11:32] * RAMZAY сидит, пишет фронт на js и скулит из за того, что не может писать на F#
[17:12:00] <gsomix> RAMZAY, Fable!
[17:12:14] * ForNeVeR вообще в бумажках ковыряется. Но мужественно молчит.
[17:12:30] <gsomix> RAMZAY, http://fable.io/
[17:18:29] <RAMZAY> 0_j
[17:19:05] <RAMZAY> gsomix: один чёрт, у нас вообще es5
[17:19:12] <RAMZAY> и все обязаны придерживаться
[17:19:28] <RAMZAY> мне даже arrow functions запретили
[17:21:21] <ɹǝɟılʍǝu> RAMZAY, у вас был какой-то js и вы его придерживались.
[17:24:08] <gsomix> Кажется, для того, чтобы писать на JS нужно знать больше баззвордов, чем в Java и дотнете вместе взятых.
[17:27:22] <RAMZAY> ɹǝɟılʍǝu, угу, я вот только недавно вошел в проект, поэтому придерживаюсь тому, что было
[17:29:56] unclechu зашёл в конференцию
[17:31:16] <gsomix> ForNeVeR, дедушка, а расскажи, почему все остальные ML кроме OCaml (F#?) померли?
[17:31:19] <gsomix> Кто-то много спал?
[17:32:00] <ɹǝɟılʍǝu> Эм.
[17:32:04] <ɹǝɟılʍǝu> А Haskell?
[17:32:10] <ɹǝɟılʍǝu> Он вроде нифига не мёртв.
[17:32:51] <gsomix> Я почему-то не отношу Haskell к ML.
[17:33:06] <gsomix> И остальные в интернетах как-то его выделяют.
[17:33:38] <gsomix> ML -- это SML, Caml, OCaml, ещеоднареализация-ML.
[17:37:02] <ɹǝɟılʍǝu> Хм.
[17:37:43] dzhon зашёл в конференцию
[17:40:07] <ɹǝɟılʍǝu> dzhon, привет
[17:45:45] <ɹǝɟılʍǝu> https://www.cs.cornell.edu/talc/papers/stal-tic.pdf
[17:45:52] <ɹǝɟılʍǝu> gsomix, ForNeVeR ебанись на отличненько!
[17:46:52] <ForNeVeR> gsomix: а это какие — остальные? Наверное, их и не юзал никто. Хаскель живой, да, но он очень далеко отошёл.
[17:47:17] <ForNeVeR> gsomix: те, которые ты перечислил, это скорее просто предшественники современных диалектов.
[17:47:47] <gsomix> ForNeVeR, ну, SML -- это стандарт.
[17:47:59] ckorzhik вышел из конференции
[17:48:01] <gsomix> И его реализации немного, эм, умерли.
[17:48:50] <gsomix> ForNeVeR, ну, просто современных реализаций с накопленным багажом фич -- одна -- OCaml.
[17:49:18] <gsomix> И он тоже не очень популярен.
[17:49:29] <ForNeVeR> gsomix: я и не знаком толком с остальными, в общем-то.
[17:50:25] <gsomix> ForNeVeR, я смотрел реализации SML когда-то.
[17:50:29] <gsomix> Они все мертвые, кажется.
[17:52:15] <gsomix> Надо бы еще раз изучить этот вопрос.
[17:56:06] <gsomix> ForNeVeR, просто тот же OCaml и Haskell очень сильно различаются.
[17:56:16] <gsomix> И при этом непонятно, почему второй намного популярнее первого.
[17:56:30] <gsomix> Видимо, академическая среда дает большой буст.
[17:58:27] <ForNeVeR> Хм, а на F# можно WinForms поюзать?
[17:58:42] <ForNeVeR> Или мне всё придётся заворачивать в FSharp.Desktop.UI?
[17:59:06] <gsomix> Я видел, как народ юзает.
[17:59:10] <gsomix> В чем может быть проблема?
[17:59:20] <ForNeVeR> Ну, редактора формочек-то наверняка нету.
[18:01:17] <gsomix> А, ну.
[18:01:20] <gsomix> Нет, конечно.
[18:01:42] <ForNeVeR> Я бы предпочёл не отлаживать всякие там table layout на живом приложении ~_~
[18:02:00] <gsomix> ForNeVeR, надо запилить!
[18:03:13] <gsomix> ForNeVeR, а мы тут в WPF борщанули с темплейтами, которые нам UI строят по иерархии объектов.
[18:03:21] <gsomix> И теперь отлаживаем на живую.
[18:03:53] <ForNeVeR> Снупер в руки и вперёд!
[18:04:05] <ForNeVeR> Не звучит страшно :)
[18:04:23] <ForNeVeR> Я рекомендую глянуть Caliburn Micro, кстати. Он ок.
[18:06:56] <gsomix> ForNeVeR, еще про fsi и сигнатуры.
[18:07:08] <gsomix> ForNeVeR, в нормальном ML, кажется, это имеет куда больше смысла.
[18:07:28] <gsomix> Там есть что-то вроде функционального языка над модулями.
[18:07:34] <gsomix> Где сигнатуры -- это тип модуля.
[18:07:43] <gsomix> Есть реализация.
[18:07:52] <gsomix> И есть функции на модулями -- функторы.
[18:18:15] unclechu вышел из конференции
[18:24:43] portnov зашёл в конференцию
[18:29:44] <ForNeVeR> Нас ребут!
[18:29:59] Славный капитан зашёл в конференцию
[18:30:13] <Славный капитан> ForNeVeR: а мы хибернейтим!
[18:30:28] ForNeVeR вышел из конференции
[18:30:29] horta hell вышел из конференции
[18:30:34] ckorzhik зашёл в конференцию
[18:30:59] ForNeVeR зашёл в конференцию
[18:30:59] horta hell зашёл в конференцию
[18:31:15] <Славный капитан> .\_/.
[18:31:59] <Славный капитан> horta hell: ты почто все еще не в кластере с фейловером, лямбдово отродье?
[18:32:42] <Славный капитан> ForNeVeR: и ты себе давно мог бы бесшовный ребут организовать
[18:32:52] <gsomix> ForNeVeR, ну и еще, с функторами в ML как-то обходятся без тайплкассов.
[18:32:59] <ForNeVeR> Славный капитан: дак я сервисы проверяю на вшивость.
[18:33:08] <ForNeVeR> Которые не стартанули после ребута — тех надо чинить.
[18:35:02] <Славный капитан> А мы сегодня обосрались.
[18:35:12] <Славный капитан> В пятый раз подряд ~_~
[18:35:36] <Kerrigаn> а, ну это нормально
[18:35:38] <Kerrigаn> за один день?
[18:35:43] <ForNeVeR> Детей чтоль завёл себе?
[18:35:46] <Славный капитан> Нет, по разу в день.
[18:35:55] <Kerrigаn> тогда всё ок
[18:35:58] <Славный капитан> ForNeVeR: если бы. Фронтэндщиков.
[18:36:32] <Славный капитан> Их даже в угол не поставишь.
[18:36:42] <ForNeVeR> Заставь их убирать.
[18:36:55] <Kerrigаn> Славный капитан: border-radius: 0px;
[18:36:58] <Славный капитан> ForNeVeR: Так они одним концом убирают, вторым срут.
[18:37:21] <Славный капитан> И чище не становится.
[18:37:33] <Славный капитан> Как джуниоры какие, чесслово
[18:38:38] <Kerrigаn> прекрасно
[18:38:39] <Славный капитан> http://dbareactions.com/post/148505519499/when-someone-says-that-they-dont-have-time-to-be
[18:38:44] <ForNeVeR> Дак они и есть джуниоры, наверное.
[18:38:46] <Kerrigаn> у меня эмулятор опять теряет куски текстур
[18:41:36] <ɹǝɟılʍǝu> Славный капитан, шик
[18:43:35] m4n71k0r вышел из конференции
[18:45:55] dzhon вышел из конференции
[18:46:46] dzhon зашёл в конференцию
[18:52:57] Graf вышел из конференции
[18:56:02] gsomix вышел из конференции
[19:05:12] rexim зашёл в конференцию
[19:05:54] <rexim> RAMZAY, о! Так ты та самая легендарная личность! https://loglist.net/quote/8086
[19:06:01] <rexim> Какая честь!
[19:06:24] <ForNeVeR> XD
[19:06:36] <rexim> Легендарная личность воспетая в логлистах!
[19:06:46] <ForNeVeR> Номер цитаты — гет, между прочим.
[19:06:54] <rexim> Кстати, да.
[19:08:30] <rexim> Чот не ловится сегодня крокодил. Пойду чай пить.
[19:08:58] <ɹǝɟılʍǝu> Гы!
[19:09:03] <ɹǝɟılʍǝu> rexim, чпок?
[19:09:11] <rexim> Кстати, если в чай корицы нафигачить получается збс.
[19:09:23] <rexim> ɹǝɟılʍǝu, привет.
[19:09:37] <ɹǝɟılʍǝu> rexim, будешь пельмешки?
[19:09:39] <RAMZAY> вашу налево
[19:09:41] <RAMZAY> КТО
[19:09:41] <ɹǝɟılʍǝu> Или котлетки?
[19:09:46] <RAMZAY> ForNeVeR: твои проделки?
[19:09:50] <ForNeVeR> RAMZAY: ,3
[19:10:30] <RAMZAY> ух тыж
[19:10:33] <RAMZAY> я уже и на башорге есть
[19:10:35] <RAMZAY> и тут есть
[19:10:42] <rexim> loglist > bashorg
[19:10:56] <portnov> вашу маму и тут и там показывают
[19:11:05] <rexim> xD
[19:11:12] <RAMZAY> не, там другая цитато
[19:11:13] <ForNeVeR> ɹǝɟılʍǝu: https://youtu.be/uCUnhoe0rpU
[19:11:16] <ɹǝɟılʍǝu> portnov, «мамку твою показывал»!
[19:11:33] <ɹǝɟılʍǝu> ForNeVeR, Ъ
[19:11:39] <ForNeVeR> ъ_ъ
[19:11:42] * RAMZAY ушел на пары
[19:11:44] <ɹǝɟılʍǝu> ь_ь
[19:12:02] * rexim сбежал с уроков.
[19:12:27] * ForNeVeR выпивает машинного масло.
[19:12:31] RAMZAY вышел из конференции
[19:13:35] <ɹǝɟılʍǝu> ForNeVeR, ты только тормозную жидкость не пей!
[19:13:52] <ForNeVeR> Чего в ней такого плохого?
[19:13:53] <ɹǝɟılʍǝu> О!
[19:14:01] <ɹǝɟılʍǝu> Я знаю, кого мне напоминает Форнёвер!
[19:14:23] rexim вышел из конференции
[19:14:25] <ɹǝɟılʍǝu> https://upload.wikimedia.org/wikipedia/ru/thumb/c/ca/%D0%9A%D0%B0%D0%B4%D1%80_%D0%B8%D0%B7_%D0%A2%D0%A2%D0%9F.jpg/250px-%D0%9A%D0%B0%D0%B4%D1%80_%D0%B8%D0%B7_%D0%A2%D0%A2%D0%9F.jpg
[19:14:51] <ForNeVeR> \Ъ!
[19:44:36] O01eg зашёл в конференцию
[19:49:01] ɹǝɟılʍǝu вышел из конференции
[19:55:14] dzhon вышел из конференции
[19:56:32] O01eg вышел из конференции
[20:09:53] Graf зашёл в конференцию
[20:10:09] Graf вышел из конференции
[20:12:03] Славный капитан вышел из конференции
[20:42:55] <horta hell> @tsoding твитит: Digest of MIDI Looper in Rust Ep.30 — Morning Tsoding. Enjoy! https://t.co/qjfZEtqcv4
[21:04:27] ɹǝɟılʍǝu зашёл в конференцию
[21:04:54] ɹǝɟılʍǝu вышел из конференции
[21:05:03] ɹǝɟılʍǝu зашёл в конференцию
[21:05:46] gsomix зашёл в конференцию
[21:05:54] <gsomix> Утро.
[21:06:30] <ɹǝɟılʍǝu> gsomix, http://img-9gag-fun.9cache.com/photo/aK2PMQZ_460s.jpg
[21:06:37] dzhon зашёл в конференцию
[21:13:25] Славный капитан зашёл в конференцию
[21:16:09] <gsomix> Забавно, я думал, что все ученые убежали развивать Haskell, зависимые типы, и все такое.
[21:16:20] <gsomix> Но вот и по ML что-то пишут интересное.
[21:16:32] Aman зашёл в конференцию
[21:16:51] <gsomix> http://www.mpi-sws.org/~rossberg/1ml/
[21:20:20] dzhon вышел из конференции
[21:26:03] O01eg зашёл в конференцию
[21:43:24] a1batross зашёл в конференцию
[21:59:47] eaeee зашёл в конференцию
[22:12:12] dzhon зашёл в конференцию
[22:26:07] ckorzhik вышел из конференции
[22:56:25] portnov вышел из конференции
[23:02:28] Aman вышел из конференции
[23:02:30] Aman зашёл в конференцию
[23:35:12] ckorzhik зашёл в конференцию
[23:40:53] <gsomix> Хм.
[23:58:32] gsomix вышел из конференции
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!