A64m
Dmitrii
О, теперь я знаю три
Dmitrii
derive, а какой третий?
derive использует -XTemplateHaskell, чтобы создавать инстансы. А разговор был про Generic deriving.
1. Более старая библиотека: https://hackage.haskell.org/package/generic-deriving
2. Более свежая (чуть ли не в этом году вышла): https://hackage.haskell.org/package/one-liner-instances
Я развёл автора one-liner написать, чем его либа отличается от generic-deriving, и вот, пожалуйста:
* https://github.com/mstksg/one-liner-instances#comparisons
Зигохистоморфный
ага, а база на https://github.com/sjoerdvisscher/one-liner
Ю ли я? 🤔
Круто, всем спасибо!
Aliester
FP lies at the heart of both of the dominant frameworks, React (avoiding shared mutable DOM is the motivation for its architecture and 1-way data flow) and Angular (RxJS is a library of utility operators that act on streams by way of higher-order functions — its used extensively throughout Angular).
Aliester
сначала прочитал "Ложь функционального програмирования в сердце доминирующих фреймвороков"
Andrei
Aliester
хаскелянка гадит
Andrei
снойманорептилоиды
Leonid 🦇
вот вы токсиные то какие
Leonid 🦇
вот поэтому никто и не хочет на хаскеле писать. из-за такого токсичного сообщества!
Andrei
Leonid 🦇
http://www.parsonsmatt.org/2018/03/22/three_layer_haskell_cake.html ну вроде стали вычленять дизайн паттерны для хаскеля.
Denis
fear monads pattern
Denis
это когда боишься монад и пишешь на го
Leonid 🦇
Правда пока один и тот-же паттерн в трех постах
Leonid 🦇
fuerer monads
Denis
быстрее чем fuer monads, надо полагать?
Leonid 🦇
Усы смешнее
Leonid 🦇
Kirill какие там новости о перепиливании прометеуса? Можно в прод?
Kirill
Да вроде пару месяцев как замерджен тот пр от олли
Kirill
Всё работает вроде
Denis
он писал чтобы его либу не юзали
Leonid 🦇
Отличненько
Denis
т.к. он не работает над ней
Denis
мне тоже кстати надо прометеус
Kirill
Дак пр в другой пакет
Denis
мне схема с раздаванием метрик http - пуллом с прометеуса кажется ультра-раковой
Denis
т.е. вроде куда логичнее по UDP из приложения фигачить куда-то
Kirill
Ты про полл?
Denis
ну да
Kirill
Мы на хттп сидим
Denis
ну т.е. в приложении отдельный тред вешается с http-сервером?
Leonid 🦇
Так вроде там есть прокладка которой посылаешь метрики а прометеус читает
Leonid 🦇
Ибо до них дошло что бывают батч джобы
Kirill
Варп с мидлварью
Leonid 🦇
@s9gf4ult а вот еще было бы хорошо иметь queryWith из pgs. это который берет RowParser аргументом
Aleksey
можно
Denis
Leonid 🦇
у меня дедлайн и конь всё больше превращается в детский рисунок
Denis
у нас тоже так последнее время
Vasiliy
Наверное, с этим вопросом уже все надоели, но все таки спрошу :)
У меня есть пачка моих типов, я хочу для них FromJSON/ToJSON в отдельном файле/файлах,
Но это будут orhpan instances же, как быть?
Если писать все в одном и том же файле (реализовывать FromJSON/ToJSON там же, где я определяю мои типы), то длинный слишком файл получается, поэтому я не уверен, что хочу этого. Конечно можно каждый тип вынести в отдельный файл и реализовать все там, но почему-то мне удобно видеть их рядом, в одном. А в newtype оборачивать нет смысла, наверное, т.е. это костыль.
UPD: Наверное, все таки придется по типу на файлик делать и там реализовывать.
Leonid 🦇
для референса https://pbs.twimg.com/media/DY1-8iiXcAAgvgV.jpg:large
Leonid 🦇
Наверное, с этим вопросом уже все надоели, но все таки спрошу :)
У меня есть пачка моих типов, я хочу для них FromJSON/ToJSON в отдельном файле/файлах,
Но это будут orhpan instances же, как быть?
Если писать все в одном и том же файле (реализовывать FromJSON/ToJSON там же, где я определяю мои типы), то длинный слишком файл получается, поэтому я не уверен, что хочу этого. Конечно можно каждый тип вынести в отдельный файл и реализовать все там, но почему-то мне удобно видеть их рядом, в одном. А в newtype оборачивать нет смысла, наверное, т.е. это костыль.
UPD: Наверное, все таки придется по типу на файлик делать и там реализовывать.
длинный фаил это норма. хуже что в хаскеле он еще и широкий
Anatolii
Где-то доклад не плохой, в нем гноворилось что складывать все типы в один файл не оч хорошая идея
Vasiliy
лан, глупый вопрос – надо просто создавать по файлу на тип/группу типов и писать там все инстансы)
A64m
Наверное, с этим вопросом уже все надоели, но все таки спрошу :)
У меня есть пачка моих типов, я хочу для них FromJSON/ToJSON в отдельном файле/файлах,
Но это будут orhpan instances же, как быть?
Если писать все в одном и том же файле (реализовывать FromJSON/ToJSON там же, где я определяю мои типы), то длинный слишком файл получается, поэтому я не уверен, что хочу этого. Конечно можно каждый тип вынести в отдельный файл и реализовать все там, но почему-то мне удобно видеть их рядом, в одном. А в newtype оборачивать нет смысла, наверное, т.е. это костыль.
UPD: Наверное, все таки придется по типу на файлик делать и там реализовывать.
да, "все типы в одном файле" - это плохая идея
Denis
Vasiliy
я люблю кучу контекста держать на экране в сплитах, поэтому тоже узкие в основном
Denis
Leonid 🦇
я тоже хочу узкие, но 79 колонок не влезает, в 100 кое как
Denis
я наловчился в 80 влезать
Vasiliy
ну да, вроде как bounded context это называлось в этой оверхайпед штуке из 3 букв из ооп мира
ну, т.е. когда модели данных делятся по контекстам
хотя нет, там был смысл в том, что одни и те же сущности могут означать разное и иметь разное поведение в разных контекстах, а не просто группировку по смыслу
Dmitry
Leonid 🦇
ибо C-x 3
A64m
Но зачем?!
чтоб на перфокарту влезало, очевидно же
Denis
потому что код влезает в монитор потом
Denis
Dmitry
Интересные у вас мониторы
Andrei
Denis
да хоть чего
A64m
телефона
A64m
смартчасов
Denis
делать инденты по длине названий переменных вообще поехавшие придумали
Denis
получается очень горизонтальная лесенка, а потом головой сиди верти
Denis
stylish, my ass
Andrei
опять же для 4:3 ведь есть одноколоночный diff (ну то есть в IDEA есть)
Leonid 🦇
stylish можно настроить. там @cblp_su законтрибутил норм стиль
Dmitry
Одноколоночный стиль -- это как?
Leonid 🦇
а вообще весь список импортов переносишь и норм
Cheese
Leonid 🦇
pad_module_names: false вроде, не?
Leonid 🦇
не отмажешься https://github.com/jaspervdj/stylish-haskell/blob/ae02599ddaf42031e77fc6d81a8dab9bcf3b5f99/CHANGELOG#L18
Cheese
а, да, с тех пор пользуюсь стайлишем постоянно
Cheese
> pad_module_names
> true: a little more readable
на самом деле нет
Andrei