Влод
а, такое ну да ) вот кстати! ты спрашивал что такое purescript вот представь себе как котлин только эта ситуация (на границе двух языков) еще хуже
Ну с таким можно жить. Я не стану никому говорить что это плохо. Скорей всего у тебя повесомей должны быть причины
Quet
я ж говорю ситуация похожа но СИЛЬНО хуже
Влод
Ну то есть в случае котлина всё приходящее из джавы лучше бы обернуть и норм живём
Quet
потому как котлин и жабка все ж много общего имеют
Влод
Ну реально если проект зависит от джавы котлин лучше всего из джвм языков. Причины понятны
Влод
Да и реально не представляю как в реальном мире людей настраивать на скалу например.
Anonymous
Берешь и пишешь
Anonymous
Смотря каких людей.
Anonymous
Вся настройка
Anonymous
Ну вопрос времени, конечно.
Quet
Берешь и пишешь
а потом оказывается что мог бы и на жабе (восьмой) и примерно та же херня, только работает быстрее )
Влод
Не 8я же скучно. Тустрим, тулист
Quet
второй вариант скалы -- обмазываешься scalaz, ехала монада через функтор и внезапно оказывается что OO хаскель на jvm это какое-то говно пишешь на хаскеле, забирают в дурку
Quet
откуда не глянь -- не очень нужна эта скала (
Anonymous
А что есть лучше скалы на jvm?
Quet
java ) ну котлин это кажется правильная скала такая
Anonymous
Я конечно не особо "в теме", но вот этот вот Котлин мне показался мешком сахара.
Quet
зато это правильный сахар )
Влод
Ну всякие более хаскельные джвм языки совсем без инфраструктуры, выбор небольшой
Anonymous
Ну всё лучше джавы, конечно.
Влод
Я конечно не особо "в теме", но вот этот вот Котлин мне показался мешком сахара.
Магические ифы там немного зря. Всё же лучше как в свифте иф лет
Влод
А так особо лишнего сахара не помню
Влод
Ну делегейтед классы -думаю никогда таким не воспользуюсь, но мне на работе человек показывал ситуацию где ему бы пригодилось
Влод
Ну тогда ещё не было "?"
Quet
эмм
Quet
if let where и ? это разные вещи ж
Quet
? это такой комбинатор для одной монады )
Quet
которая в расте сильно в ходу )
Влод
Не я про то что if optional?.condition()==true можно сделать, что покрывает большую часть нужд
Влод
Насчёт го: в разных модулях быть разные имплементации интерфейса? Если да то они могут перекрывать друг друга?
Quet
перекрывать?
Quet
это как
Anonymous
https://github.com/haskell-perf/sequences https://github.com/haskell-perf/dictionaries
Влод
В модуле а определишь ф1 Модуль б импортирует а, в нём тоже определяешь ф1 но по-другому
Мерль
В модуле а определишь ф1 Модуль б импортирует а, в нём тоже определяешь ф1 но по-другому
В смысле, удовлетворяет ли интерфейс из одного пакета интерфейсу их другого пакета если у них одинаковые декларации? Да
Denis
Привет! Изучаю Хаскел, есть ли возможность унифицировать эту структуру data ProductK m n f = ProductK (m f) (n f) чтобы работала для любого вида f. Т.е. и для f :: * и для f :: * -> * и т.д. ?
Denis
let me check
Denis
А есть уже такая структура в Prelude может быть?
Oleg
А есть уже такая структура в Prelude может быть?
https://www.stackage.org/haddock/lts-8.5/base-4.9.1.0/Data-Functor-Product.html Kind Polymorphism, как я понимаю с 7.8, т.е. он нифига ни с кем не совместим, поэтому в Prelude нескоро что-то такое появится
Denis
Спасибо
Мерль
[last news] Retrofitting Linear Types in Haskell [pdf](https://www.microsoft.com/en-us/research/wp-content/uploads/2017/03/haskell-linear-submitted.pdf)
Dmitry
А есть у нас где-нибудь (желательно йесод не тащить) функции для валидации/нормализации URL-ов?
Quet
network-uri?
Dmitry
ага
Dmitry
сойдет. спасибо
blkmrkt
Подскажите, чем деплоить бинарник хаскеля на Debian, чтоб бегущий процесс перезапускался с теми же параметрами? У меня CircleCI делает нужные артефакты, но я их вручную заливаю и вручную перезапускаю после каждого билда
blkmrkt
На самом деле нужно скалировать этот процесс на N машин, чтоб с новым пушем в ветку production, каждый линукс-клиент где оно запущено, получал новую версию.
Максим
@blkmrkt Ну простое решение - Ansible. Напиши один раз playbook и деплой.
Anonymous
Раз заговорили, то кто-нибудь пробовал nix? Как оно?
Max
я не осилил
Max
очень сложно пользоваться
Max
так-то идея хорошая и правильная, но оверхед показался неоправданно большим
Max
но это субъективно, может чего и не понял
Max
в nix-shell очень гиморно подключать все используемые библиотеки, например
Max
в теории это позволяет разрулить dep-hell, но на практике такое редкость
Max
и решается средствами языка, когда всё подряд не ставится в систему, а компилится в бандл какой-то
Dmitry
кстати да, еще в никсе какой-то дикий контр-интуитивный cli
Dmitry
@mtreskin а чем ты пользуешься для деплоя? ansible?
Max
да
Max
ансибла хватает
Dmitry
фак, да что ж такое
Max
ну что поделать
Dmitry
да он блин уродский
Max
уродский
Anonymous
Мне идея тоже нравится. Особенно после того, как в ансибле я не нашёл рекламируемой идемпотентности. Ну, оно-то есть, но следить должен я.
Max
но его же не трахать
Dmitry
мне вот надо деплоить опять вот прямо сейчас, сегодня
Max
нет времени объяснять, срочно деплой
Dmitry
в ансибле нет идемпотентности
Max
анзибл — это такие же говно и палки, как и гит
Dmitry
и вообще нихрена нет, кроме скриптов на yaml файлах
Anonymous
Да, нет. Но зачем о ней трубить тогда?
Max
yaml говно адское и ущербное
Dmitry
гит кстати норм, в нём идея есть более менее и интуитивность
Max
ну анзиблом чаще пользуйся, тоже (((интуитивность))) появится, ггг