A64m
https://ghc.haskell.org/trac/ghc/ticket/14558#comment:48
Alexander
окей, какие там ещё адекватные языки остались?
Alexander
что никаких? ну ок.. придётся тут страдать
A64m
Yes that contributed to the misery. I felt like I was beating my head against a wall.
A64m
I worry that it’s worse for newcomers to the language who bounce off of the circled wagons.
A64m
хаскель - это ад
A64m
нет, хаскель это крепость, в которую не могут прорваться многочисленные специалисты по тому, какими должны быть языки программирования (все остальные, кроме хаскеля уже в порядке)
Андрей
крепость, ад, вы упоролись?
A64m
не мы
Андрей
в первый рабочий день недели?
Alexander
у них еще воскресенье
Андрей
буржуи?
Alexander
+
A64m
не, у большинства понедельник уже
Vitaly
Думаю, уже у всех понедельник
Alexander
но ночь
A64m
в nyc 7 утра уже
Alexander
ясно
Зигохистоморфный
обновляшки http://kcsongor.github.io/generic-lens/
Alexander
что я хотел спросить, а нету никакой готовой обертки над optparse-applicative которая и из окружения умеет собирать данные?
A64m
обновляшки http://kcsongor.github.io/generic-lens/
уже более новая версия есть, с леблами
Зигохистоморфный
Alexander
ну кроме того, что я могу в value запихнуть unsafePerformIO
A64m
у него же?
ну на гитхабе точно, на хекедже я не смотрел
Зигохистоморфный
A64m
не знаю
Alexander
Vasiliy так я и сам умею
Alexander
но это заставляет в 2х местах держать код для обработки данных
A64m
интересно, какое адище можно получить, если аппликативы композить
Vasiliy
я видел либу, которая значения параметров брала с командной строки, из окружения или из конфига, но не могу вспомнить название...
A64m
можно же через Compose
я про это и говорю
Зигохистоморфный
я про это и говорю
ну так как это newtype то как-то можно хитро юзать coerce
Dmitry
Есть задача генерировать питонового клиента к HTTP серверу. Есть описание API в виде какой-то метаинформации - по сути, выдернутый из документации XML. вопрос - стоит ли сгенерить из XML типы серванта, а из них - уже сгенерировать питоновое API ?
Denis
по моему опыта генережка клиентов на нетипизированных ЯП мало чего стоит
Denis
нужна только доля “регенерации”, если что-то меняется
Denis
а так вот есть https://hackage.haskell.org/package/servant-py
Dmitry
мало что стоит - в смысле, не стоит с сервантом ради такого связываться?
Denis
всмысле биндинги получаются хлипенькие все равно
Denis
но если структуры большие, то может быть полезно конечно
Denis
я бы swagger сгенерил мб
Dmitry
там API большое, сотни эндпойнтов
Denis
а из него клиент
Dmitry
руками уныло писать.
Dmitry
сваггер - а, ок. надо будет посмотреть
Denis
тогда генережка, конечно
Denis
хотя сваггер вроде для json
Denis
я не уверен насчет xml
Leonid 🦇
сваггер генерит жуткие питонские бинды
Leonid 🦇
правда есть либа которая в рантайме генерит из сваггера бинды, она вроде получше. но стартап долгий
Kirill
я не уверен насчет xml
Теоретически свагер и иксэмэль держит, но как понимаю это вторичная фича
Kirill
OpenAPI Specification | Swagger https://swagger.io/specification/#xmlObject
Kirill
И маппинг судя по всему жсон в иксэмэль
Alexander
чем у серванта делать авторизацию через JWT?
Anonymous
зач jwt
Alexander
над jwt
Denis
https://github.com/arianvp/servant-jwt-example
Alexander
+
A64m
> Thank you @simonpj! I am very happy to hear that. А я нет
Андрей
пооясните, пожалуйста, что такое сервант
Андрей
вот так вот сходу не понял по сайту
Denis
можно, наверное, сказать что легковесный веб-фреймворк
Андрей
я по вашим обсуждениями думал, что генератор клиентов, но на сайте есть ешё servant-server и какая-то интеграция с persistent что-то там
Alexander
фреймворк для упрощение написания серверов
Alexander
который на основе типов позволяет не писать бойлерплейт по разбору запросов/сбору ответов, генерирует клиент, документацию, тесты
Alexander
при этом не привязыкает к каким-либо шаблонам/базе и т.п.
Андрей
за счет чего не привязывается?
Андрей
звучит как магия, всё равно какой-то клей должен быть, который что-то обобщённое превращает в что-то частное для конкретной бд
Anatolii
он тебе помогает с роутингом - все остальное за тобой
Alexander
посредством отсутсвия кода как либо связанного с ьд
Anatolii
ну и все что выше написали
Alexander
чтобы не привязывать к базе достаточно не иметь кода работающего с базой ; )
Alexander
оно о роутинге и всем с ним связанным
Alexander
тесты, клиент, документация, разборы типов - связаны
Anatolii
на выходе сервант тебя заставит передать ему хэндлеры под каждый роут
Alexander
база, шаблоны, генерация ответов - нет
Alexander
в принципе шаблоны можно и привязать