Vitaly
Ещё хорошо бы правила обсуждения сборов комиссии сформулировать.
Vitaly
А вообще, где @qnikst? А то тут бардак развели.
Dmitry
что замочить?
Dmitry
я тоже могу
Vitaly
Не надо мочить. Нужно по ушам надавать.
Dmitry
это так не работает
Dmitry
модерация тут импульсивна и пассивно-агрессивна
Dmitry
немедленный расстрел только за спам
Dmitry
но что бы было больше топика - надо что-то обсуждать
Dmitry
топичное.
Vitaly
А за призывы к инклюзивности нельзя?
Dmitry
нельзя что? сразу банить и в спамеры заносить?
Dmitry
кмк нет
Dmitry
никто ж по делу ничего не обсуждает, да и что обсуждать?
Dmitry
хаскель - вот он. бери, педаль на нём
Dmitry
работа нужна - вот он я и еще несколько компаний, конкурируем за кадры
Dmitry
на основной вопрос - когда ghcjs будет похож на человека и не помрёт ли он - всё равно никто ответить не может
Dmitry
ну на всякий случай - народ, призываю к порядку, а то ишь
Vitaly
А у меня про работу есть вопрос как раз. Можешь сформулировать, что должен знать и уметь хаскелист для джуниор-позиции?
Dmitry
у нас еще нормально, посмотри вон на растовый чат
Dmitry
код писать, уважая конвенции проекта, пускай даже неявные. PR заводить. исправления принимать. недостающие требования выяснять.
Dmitry
общеизвестные вещи сначала гуглить, а потом коллег ими донимать
Anonymous
мб немного нубацкий вопрос: можете подсказать примеры использования комонад и контравариантных функторов?
Dmitry
уметь гит
Dmitry
не ставить досовских переводов строки
Vitaly
уметь писать на ЯП haskell программы
Опытный работодатель, сразу видно!
Dmitry
иметь коммон сенс, и понимать, что фримонады - шляпа
Dmitry
но это не точно
Leonid 🦇
не шляпа конечно, но и не панацея
Dmitry
я за несколько раз так и не понял, какой от них профит.
Leonid 🦇
/me посмотрел на тайпкласс Backend с 30ю методами
Andrei
я за несколько раз так и не понял, какой от них профит.
про них @astynax недавно голосом рассказывал
Dmitry
да я их вот этими самыми руками сначала в проект притаскивал
Dmitry
а потом выпиливал
Andrei
ой
Dmitry
аналогичная история с turtle
Dmitry
две вещи, которые сначала запиливаешь, а потом выпиливаешь и так каждый раз
Aleksei (astynax)
Для комонад есть примеры с запиливанием Zipper'ов на оных. Ещё где-то была реализация Жизни конвеевской на комонадке
Mikhail
вопрос: какое умное название у конструкции вида: data Foo a b c construct :: Option a -> Option b -> Option c -> Option Foo ?
Aleksei (astynax)
Э... выглядит, как liftA3
Denis
это явно работа для аппликативного функтора
Vitaly
Ну вот, скажем, Traversable, если аппликант не понимает его, сразу в бан?
Dmitry
неа
Aleksei (astynax)
Traversable можно понять по описанию класса. Даже если ты новичок, но с тайпклассами, как концепцией знаком и про Monoid знаешь.
кана
вопрос: какое умное название у конструкции вида: data Foo a b c construct :: Option a -> Option b -> Option c -> Option Foo ?
data Foo a b c = Foo a b c liftA3 Foo (Just 1) (Just 2) (Just 3) = Just (Foo 1 2 3) Foo <$> Just 1 <*> Just 2 <*> Just 3 = Just (Foo 1 2 3)
Denis
А у меня про работу есть вопрос как раз. Можешь сформулировать, что должен знать и уметь хаскелист для джуниор-позиции?
У меня несколько требований: 1) умение писать работающие программы на нужном ЯП. Практически любой степени (не)красивости и угловатости. Но чтобы работало. 2) уметь следовать ТЗ и правильные вопросы задавать. Если ТЗ просит написать одну функцию, то надо написать одну функцию, а не библиотеку на го. 3) всякая периферийная фигня, такая как знание средств разработки, баз данных и прочих вещей общих для всех ЯП
Vitaly
Traversable можно понять по описанию класса. Даже если ты новичок, но с тайпклассами, как концепцией знаком и про Monoid знаешь.
Я не согласен. Там всё-таки уровень абстракции высокий, это только опытый программист может быстро схватить.
Vitaly
Начинающий от f t a и t f a сдохнет сразу
Dmitry
менее опытный может спросить у более опытного или здесь в чате - не нужен ли мне траверсабл и как его сюда впилить
Dmitry
заметим, что из этих требований вообще легко удаляется слово haskell
Dmitry
если оно вообще в нём присутствует.
Denis
эти требования к любому ЯП применяются
Vitaly
ага
Denis
хаскелль тут ничем не примечателен на мой взгляд
Denis
только почему-то соискатели не всегда так думают
Vitaly
я старый враг примечательности хаскеля!
Anatolii
тут просто в чате когда начинают обсуждать высокие вещи - то новички сразу и разбегаются
Vitaly
соискатели пытаются пониманием комонад хвастаться?
Denis
я стараюсь избегать, ведь можно самому поплыть!
Denis
мне комонады для написания программ в жизни были нужны 0 раз
Denis
но это я наверное просто не знаю как их варить
Leonid 🦇
А как же комонад костейт коалгебра?
Denis
кококо сокращенно
Vitaly
ку-клукс-клан
кана
фриман вот говорит, что комонадами хорошо UI моделировать
Denis
в пурскрипте сектант каждый первый
Leonid 🦇
Фриман пруф оф концепт либу так и не запилил
Denis
у них halogen самая популярная либа для UI
Leonid 🦇
Галоген не такой и страшный теперь. Было хуже.
Зигохистоморфный
Фриман пруф оф концепт либу так и не запилил
ну как бы он ща сделал extensible effects через Day Convolution и через него же прототип линз
Зигохистоморфный
А гуи?
в планах (на линзах же как раз можно сделать оптический gui)
Leonid 🦇
разработаю ИИ чтоб на профункторах гуи
Зигохистоморфный
я спросил почему нельзя сделать такие эффекты в хаскелл (он написал) The Day convolution bit is possible, but the trick here is to represent an n-ary Day convolution using row polymorphism.
Зигохистоморфный
вообще я пока не могу понять на должном уровне Day Convolution
Зигохистоморфный
а это прокаченный Day Convolution https://github.com/paf31/purescript-smash/blob/master/src/Data/Smash.purs#L53