nvkv
сообщения можно редактировать. Магия.
Alexander
Я
Denis
Можно, но не очень удобно
nvkv
Я
о! А расскажи пожалуйста подробнее
Alexander
Tweag I/O, , делали haskellR для Amgen, high availability Решение для NDA, для другой фармацевтики проекты, немного консультации
nvkv
Круто!
nvkv
Этот чат официально признаётся полезным
nvkv
Ты только не уходи пожалуйста :)
Alexander
Раньше в parallel scientific был
Alexander
Я тут не очень активен особенно когда тут философия, но вообще уходить не собираюсь
Denis
Ты только не уходи пожалуйста :)
Куда ж он денется? Он хаскель пропагандирует лет 7, как мнимум
Alexander
Врятли больше
nvkv
Просто в телеграме есть два типа чатов: 1. Чаты в которых есть люди, которые правда понимают предмет 2. Чаты в которых есть дети обсуждающие аниме
nvkv
у меня вот тут есть чат про лисп
nvkv
там про лисп за всю историю говорили минут 20
nvkv
Я бы вообще предложил @qnikst выдать банхаммер, @lojban слышишь?
Alexander
Не надо, я не очень адекватный
Alexander
Линкедин говорит с 2011
Alexander
Т.е. про хацкель я узнавал примерно в 2010
Alexander
Узнал
nvkv
Я, если что, из тех, кто на хаскеле в продакшн не пишет. Хаскель я узнал году в 2009, за последние 7 лет написал некоторое количество утилиток и прототипов. В большой продакшн не писал никогда.
nvkv
Считаю, что хаскель в первую очередь полезен тем, что поняв хаскель ты легко поймёшь любой другой функциональный язык
nvkv
Сейчас я systems engeneer, то есть кода пишу немного. Раньше много писал на scala, swift. Сейчас всё больше clojure
nvkv
ну и на куче более обычных языков, было дело
Алдар
После изучения хаскеля ерланг был очевиден, правда там динамическая типизация и более прагматичный подход к чистоте
Alexander
Более прагматичный = чистоты нет?
Алдар
да, есть модуль io и чистоты нет
Denis
Т.е. про хацкель я узнавал примерно в 2010
Где-то с тех пор я тебя и помню по ЛОРу. Все сходится
Alexander
Тогда утверждение про прагматичномть странное
Alexander
И чистота это не только ио
Alexander
Это add/2. В том числе
Алдар
То есть глядя на функцию ты не можешь сказать чистая она или нет в общем случае
Denis
И чистота это не только ио
Там нет мутабельных переменных от слова совсем
Алдар
в ерланге тоже переменная биндится один раз
Алдар
но ее можно разбиндить
Alexander
Ничто не мешает сложению послать сообщение в процесс другой
Алдар
вручную)
Alexander
И в итоге 2+3 может зависеть от состояния третьего процесса
Denis
Ничто не мешает сложению послать сообщение в процесс другой
Язык не ограничивает, да. Ограничивает тимлид :)
Alexander
Тимлид ВС компилятор
Alexander
Извиняюсь что криво пишу, под дождем убил вчера экран телефона
Denis
И в итоге 2+3 может зависеть от состояния третьего процесса
В эрланг среде не принято говорить о чистоте, однако все знают, что сайд-эффекты - зло.
Alexander
Это и в си знают
Denis
Это и в си знают
В Си тоже редко используют сайд-эффекты :)
Denis
Но си для этого дает больше инструментов
Alexander
Вообще ж в хаскеле никто не запрещает жить в ио
Алдар
в си сайд эффекты сайд эффектами погоняют)
Denis
в си сайд эффекты сайд эффектами погоняют)
Вам попадались неправильные программисты и они, наверняка, делают неправильный код
Denis
Хотя, есть один случай, когда в си от чистоты проще отступить, чем сделать все правильно.
Denis
Это когда есть функция, которая изменяет несколько значений. Можно сделать чисто, но проще передать аргументы по ссылкам и изменить значения прямо внутри функции
Denis
Но такие функции желательно не писать
nvkv
Если что-то может быть написано не так, оно будет написано не так
nvkv
как известно
nvkv
никогда не видел в продакшене "чистого кода" на Си
nvkv
речь сейчас не о inout переменных, конечно
nvkv
а о том, о чём Александр говорил
nvkv
чистота это не только мутейтить переменные
nvkv
это ещё и зависесть от third party любым образом
nvkv
например printf в теле функции авотматически делает её грязной
Anonymous
https://github.com/anton-k/monads-for-drummers
Anatolii
а чем сейчас тестируют в хаскель мире?
Anatolii
HUnit?
Alexander
Tasty как фреймворк хорош
Anatolii
QuickCheck интересная вещь, но мне кажется что ею для всего не получится пользоваться
Anatolii
или просто надо наловчиться
Alexander
А хюнит, quick check,smallcheck. Это в зависимости от того что тестировать
Anatolii
ну вот юнит тесты писать
Alexander
Это ж разные вещи для разных задач
Anatolii
в джаве был JUnit
Anatolii
а smallcheck это для чего?
Anatolii
asty is a modern testing framework for Haskell. It lets you combine your unit tests, golden tests, QuickCheck/SmallCheck properties, and any other types of tests into a single test suite.
Anatolii
тэсти вот это все в себе обьеденил?:)
Anatolii
Author Roman Cheplyaka <roma@ro-che.info> знакомые имена:)
Anatolii
да, только что игрался, в RWH про него читал
Alexander
Small check проверяет все варианты до определенной глубины
Alexander
Tasty, hspec, test-framework это врппперы
Alexander
Тест фреймворк был устаревшим но вроде звп него взялись
Anatolii
почитал tasty пример
Anatolii
и понял что к чему