
Alexander
31.03.2018
19:11:58
самое интересное в слайдах следующего дня
но их надо у @bravit спрашивать

Vitaly
31.03.2018
19:14:12
Завтрашние слайды будут завтра!

Alexander
31.03.2018
19:14:41
сегодняшние завтрашние слайды :)?

Google

Vitaly
31.03.2018
19:15:14
Да!

Leonid
31.03.2018
19:28:33
-Wdodgy-imports название норм
от компиляции ghc у меня ноут расплавится сейчас

Roman
31.03.2018
19:29:41

Alister
31.03.2018
19:30:10
пошли в Идрис
там не так мейнстримно

Евгений
31.03.2018
19:33:59

Alister
31.03.2018
19:35:01
а есть посовременнее?
только чур коком не кидаться

Евгений
31.03.2018
19:35:46
Ну из теорем пруверов нет ничего современнее агды

Alister
31.03.2018
19:37:30
нужно писать языки 10-х

Евгений
31.03.2018
19:37:47
Никто язык 90'ых написать не может
Потому что человечество остановилось в развитии xD

Google

Alister
31.03.2018
19:39:22
или может мы достигли границы закона Мура для языков?

Евгений
31.03.2018
19:40:01
Или просто всё IT свелось к производству одного огромного рекламного билборда

Alister
31.03.2018
19:40:38
скоро зима

Yura
31.03.2018
19:42:14
не "скоро зима", а "Зима близко!"

Евгений
31.03.2018
19:42:59
Пруф или красный рассвет

Alister
31.03.2018
19:45:14
Фейсбук падает
Твитор тоже
нейросети и квантовые компьютеры - дутые инновации
еще блокчейн

Евгений
31.03.2018
19:46:19
Ща бы паниковать от того, что рекламные площадки валятся

Alister
31.03.2018
19:46:46
помнишь кризис 2008?

Евгений
31.03.2018
19:47:16
Нейросети это революция в статистической обработке данных. Раньше мы апроксимировали многочленами, а теперь юзаем и экспоненту.

Alister
31.03.2018
19:47:52
скоро и до комплексных чисел доберемся

Евгений
31.03.2018
19:48:19
Ну и чо?

Alister
31.03.2018
19:49:16
эффект завышенных ожиданий
вот устанут дяденьки-инвесторы от обещаний
и начнуть инвестировать в биотехнологии

Евгений
31.03.2018
19:49:52
А гугл рекламят как deus ex machine. Буржуазное общество строится вокруг эксплуатации предрассудков и невежества

Google

Alister
31.03.2018
19:50:03
*да, мы там тоже будем*
однако не как производственная сила, а как субконтракторы

Aragaer
31.03.2018
19:53:02
я вон пытаюсь обучить нейросеть по картинке ресайзнутой в квадрат понять, была она исходно растянутой по вертикали или по горизонтали
и чот так себе получается

Alister
31.03.2018
19:53:45
плохому искусственному интелекту датасеты мешают

Alexander
31.03.2018
20:10:52
вот там все слайды будут

Imants
31.03.2018
20:17:46
ЗдОрово. Спасибо!!

Leonid
31.03.2018
20:17:59
$ inplace/bin/ghc-stage2 --version
The Glorious Glasgow Haskell Compilation System, version 8.5.20180118
Не те сорцы сбилдил :(

Vitaly
31.03.2018
20:19:46
Тоже ничего!

Андрей
31.03.2018
20:49:16

Евгений
31.03.2018
21:08:23

Андрей
31.03.2018
21:09:56
Подстраиваюсь под канал. А вы почему?

Евгений
31.03.2018
22:11:26
Подстраиваюсь под канал. А вы почему?
Я не подстёбываю незнакомых мне людей и выражаю недовольство напрямую. И не выступаю в качестве абсолютного морального авторитета, расхождение с которым автоматически лишает субъектности. Для меня все люди, с которыми я коммуницирую, субъекты, внутренний мир и мотивация которых мне интересна. Хотя это и не отменяет того, что в принципе я стараюсь ограничить потоки от людей, которые выливают только негатив, если от них нельзя получить никакой отдачи. Вот например Клапауций ходячая энциклопедия по истории развития программирования. А ещё наверняка он очень нереализованный забитый человек, который постоянно нуждается в одобрении.
А откуда у вас токсичность -- непонятно, вроде и авторитет есть и карьера нормальная. Поэтому я и спросил


Андрей
31.03.2018
22:37:37
Как-то слабо согласуется с нарисованным вами выше образом. Что же до личного опыта общения (в чате) - у нас с вами он как-то произошел, оставив мне весьма неприятные впечатления постоянных придирок и претензий не по делу - в истории канала можно найти.
ЗЫ и вообще в этом канале у меня ощущение крайне агрессивной среды, где хамят с порога (требовали пруфы - приводил - не соглашались с моей оценкой), постоянно звучат неуважительные и надменные высказывания в адрес чего-угодно-что-не-сабж, администратор сам в этом участвует (Александр, я могу привести пруфы), но считает себя вправе предупреждать меня, когда я показываю как это выглядит со стороны.
ЗЗЫ мне нравится Хаскель, это волшебный неземной язык. Но впечатления о части местного комьюнити такое, простите.
Вижу, пишете - можем перенести диалог в личку - чтобы не добавлять энтропии в канал.


Евгений
31.03.2018
22:46:47
Я не общаюсь в личке с людьми, с которыми я не знаком лично, от слова совсем. Не помню нашего с вами общения в этом чате и нет, Клапауций не мой виртуал.
Ну не знаю, обычно у людей, приходящих в "местное коммьюнити" обратное ощущение. Возможно потому что обычно их интересует не давление своим моральным авторитетом, а изучение хаскеля.
Я лично не вижу ничего плохого в неуважительных и надменных высказываниях в отношении технологий. Потому что технологии не имеют ни разума, ни эмоций, их невозможно оскорбить. А вот если кто-то в ответ на такое отношение к технологиям, аналогично относится к людям, то это у меня лично вызывает ощущение токсичности. Если, конечно, вы верите в некую одушевлённость скалы или го, и мы задеваем ваши чувства, то это другой разговор. Возможно в таком случае наши разговоры нетактичны. Но, честно говоря, я сомневаюсь, что вы на самом деле придерживаетесь таких взглядов.
Например
Какое-то у вас доброжелательное сообщество. Никто не кидается ссылками и матом не орёт.

Google

Quet
31.03.2018
22:51:42
почему каждый раз когда тут нытье про плохое комьюнити то всегда это один и тот же человек? )

Андрей
31.03.2018
22:55:06
может потому что он единственный из чем-то недовольных, кто терпит, а не покидает чат? ) и хочет изменить мир к лучшему? ) а вот почему каждый раз, когда его провоцируют на обратную связь, появляется некто, ноющий по этому поводу и упрекающий в отсутствии постов по теме, но умолкающий после предъявления таковых, при том что он сам не замечен в подобных постах? )

Quet
31.03.2018
22:56:38
угу, как будто тут косяки "покидающих чат"
а терпеть наверное заставляют злые и токсичные хаскелисты

Андрей
31.03.2018
22:57:17
По поводу конструктива: недавно кто-то (не будем уточнять) грозился сделать презентацию или доклад по способам писания на сабже в стиле максимально динамической типизации (так витиевато выражусь, чтобы не предъявили претензии). Можно ли узнать как продвигается дело?
Да хватит ныть уже. Какого заслужили своим отношением - такой и есть. А на один положительный отзыв могу найти 100 отрицательных. И не надо прятаться за "хаскелистов" и оправдывать этим свое поведение. Хаскель не виноват и тут достаточно адекватных людей (пока еще)

Quet
31.03.2018
22:59:58

Андрей
31.03.2018
23:00:44
Нет, пытаюсь возвать к благоразумию троллей - но безуспешно

Quet
31.03.2018
23:01:57

Евгений
31.03.2018
23:04:25
Что вы именно понимаете под конструктивностью? Вы можете очертить круг интересующих вас вопросов?
Просто у разных людей здесь очень разные представления и интересы

Андрей
31.03.2018
23:07:06
Ну как минимум обсуждение Хаскеля, а не провокации меня на оффтопный диалог с последующим нытьем троллей.
По-моему Воид Лизард в ответ на обсуждение статик вс динамик грозился выдать структурированный материал по возможностям Хаскеля в этом плане. Мне бы было это очень интересно.

Евгений
31.03.2018
23:07:53
Вполне вероятно, что вас, например, интересует хаскель в продакшоне, например, а разговоры о том как правильно писать рантайм ФП вы считаете флудом. Туда же относите всякие катаморфизмы

Андрей
31.03.2018
23:09:39
Отнюдь, мне интересно второе и третье даже больше - ибо я не пишу прод на сабже

Евгений
31.03.2018
23:10:27
Но почему-то разговоры об этом игнорируете. Хотя наверное вам есть что сказать
Про статик vs динамик я не очень понял.
Обычно когда говорят о динамической типизации, то имеют в виду, что в языке есть только словари, списки, элементарные типы и функции. То есть это слегка расширенный (функциями) aeson Value
Тут я, наверное, немного понимаю, потому что пишу прод на питоне.
Единственное что -- в динамических языках могут быть оптимизации какие-нибудь (типа хранить небольшие словари как рекорды, а небольшие списки как массивы), которых нету в рантайме хаскеля. Но тут надо двигаться в сторону изучения конкретных реализаций и написания структур данных под это просто


Андрей
31.03.2018
23:19:50
Конечно, вы правы, можно создать свой составной тип и уложить в него большинство требуемых кейсов значений - типа JSON. И гомогенность словарей по ключам обойти через тип-сумму выбранных элементарных, и прочие проблемы так же решать. Но наряду с этим есть Dynamic и наверное еще другие варианты.

Евгений
31.03.2018
23:22:07
В питоне словари достаточно гомогенны по ключам, там только элементарные типы могут быть ключами

Google

Евгений
31.03.2018
23:22:46
Не знаю как в жс, но вроде также

Андрей
31.03.2018
23:22:46
Да, но вы можете в один словарь положить по ключу инт и по ключу стринг? А в сабже придется городить тип-сумму
Или извернуться и попытаться сделать наш супер-тип инстансом Орд - что провально с учетом функций как значений

Yura
31.03.2018
23:23:46
Эксистенциальный тип не прокатит?

Андрей
31.03.2018
23:24:40
Возможно, но я не сталкивался с ними близко - есть понятное введение?

Евгений
31.03.2018
23:25:29

Андрей
31.03.2018
23:26:22
Ну "плохая практика" это оценочно и религиозно. Так можно дойти до ненужности гетерогенных списков )

Евгений
31.03.2018
23:27:04
Эксистенциальный тип не прокатит?
С экзистенциалами мы придём уже к эмуляции класс-ориентированного (или скорее интерфейс-ориентированного, в духе го) программирования


Андрей
31.03.2018
23:31:09
Мне бы понравилось, если бы все функции могли принимать условно любой тип и внутри по кейсам определять свое поведение в зависимости от WHNF типа - но без того чтобы городить этот универсум-тип-сумму руками явно. И думаю (надеюсь) Dynamic здесь будет ближе к желаемому. Хотя я мало его пробовал - поэтому и хотел посмотреть как это делают умельцы.
Тут же (при таком выборе) еще и гетерогенные коллекции (по значениям) бесплатно получаем - так?
Помню, кто-то написал статью "Хаскель - мой любимый императивный язык", продемонстрировав (о боже) как в ИО-монаде с дунотацией можно писать на нем в махровом императивном стиле.
Я бы очень хотел почитать такую же статью, только с заменой слова "императивный" на "динамический" - тем более все утверждают, что это можно
А так даже на банальном примере - мне надо полиморфную по типу функцию, которая будет печатать любой тип - если он инстанс Show - то брать его show, если нет - то писать "какая-то хрень". Но я навскидку не скажу как я могу написать в коде условие имплементации типом нужного класса
Мне хочется проверять в функции мое прилетевшее значение на то что оно умеет, и в зависимости от этого делать разное. А не чтобы мне компилятор гарантировал что оно это точно умеет из типа.
И в идеале, чтобы это все не требовало переделки в множестве мест при расширении типов


Евгений
31.03.2018
23:50:11
Я бы очень хотел почитать такую же статью, только с заменой слова "императивный" на "динамический" - тем более все утверждают, что это можно
Ну предполагается, что можно, если ты бойлерплейта много пишешь. По сути мы переносим синтаксис динамического языка на конструкторы нашего универсального типа. Была лямбда -- у нас конструктор Fn, был дикт или {, у нас Map, был литерал -- у нас String и т.д.
Т.е. можно на динамический язык как на маленькое подмножество статического языка. А дальше есть проблема с тем, чтобы не пытаться размыть границы. То есть пока мы в узком мирке динамичности существуем всё хорошо (как в мирке IO в вашем примере выше). Как только мы выходим в жестокий мир остальных типов, но всё становится намного грустнее, потому что системф, типы с хитрыми кайндами или осколки зависимых типов просто не существуют во время рантайма. И вы с этим ничего не поделаете, вам просто некуда будет навесить тег об их поведении, понимаете? То есть скорее


Андрей
31.03.2018
23:52:50
Ну если брать аналогию из "императивной статьи" - там все получается красиво и элегантно - никто не запрещает нам написать сколько угодно чистых функций вне ИО и потом использовать их в ИО. И никаких жестких границ и проблем размытия - все очень гармонично
Если позволите аналогию с вульгарным ООП (джава) - то там я с типами могу провернуть точно такую же элегантную штуку по слиянию границ. Нужна мне функция на Интеджере - указываю ее тип максимально узким и ноннулабл. Надо расширить ее поведение на возможность принимать нулл (вульгарная Мэйби-монада для бедных) - убираю ноннулабл и пишу отработку нулла в ее теле - и все! И ничего больш ене переписываю и все работает! Надо расширить ее до Интов или Даблов - меняю тип аргумента на Интерфейс - и то же самое! Она волшебно научилась принимать любой тип нужного интерфейса. Надо расширить ее космически - меняю тип аргумента на Объект и внутри отрабатываю кейсы по любому инстансеОв и дефаултом если непонятно что. Вот так, элегантно и расширяемо (не надо писать про овноархитектуру, я в курсе вашего мнения). И ничего нигде в других местах переписывать при этом не надо - наша функция полиморфится до любой степени полиморфности, при этом изменяется только ее собственный код.