Alexander
(или откуда)
Андрей
откуда
Андрей
https://haskell-lang.org/library/http-client норм?
Андрей
работает? )
Андрей
а то в гугле первым выскочил https://hackage.haskell.org/package/download и что-то не завёлся даже
Андрей
никуда не коннектится
Aleksei (astynax)
http-client точно умеет сгружать файлы и отгружать тоже. wreq тоже умеет
Alexander
http-client, wreq оба норм
Alexander
хм.. так у меня есть линза делающая a -> Maybe b и призма b -> c
Alexander
как мне их скомпозить чтобы получить a -> Maybe c?
Alexander
CC @A64m_qb0
Зигохистоморфный
Alexander
пусть x :: a, foo :: Lens' a (Maybe b), bar :: Prism' b c
A64m
линза . _Just . призма ?
Alexander
пробую
Alexander
x ^? линза . _Just . призма?
Alexander
вроде сработало
A64m
да
Alexander
servant иногда неожиданнен
Alexander
когда нужно и serveWithContext и hoistWithContext
Kirill
req ещё есть в тот же список
Alexander
hscurl
Alexander
или как там байндинги звались
Kirill
HTTP? :)
kosc
Подскажите пожалуйста, как работает линза
^..
, а то гугл не осилит синтаксис, а hoogle ничего не нашёл.
Зигохистоморфный
Зигохистоморфный
kosc
О, спасибо.
kosc
Блин, так вот почему мне там список-то возвращался 😆
Andrei
А вот православно ли хотеть, чтобы все операторы были алиасами функций, названных «по-человечески»? (да, я опять)
доня.
Alexander
а почему не наоборот?
доня.
ну вот мне не нравится когда операторы в тайпклассах
доня.
типа как в Monad
Andrei
Алексей
Aleksei (astynax)
Вон в линзах такие есть операторы, что даже если их назвать, то только лишь из-за длины названий ими пользоваться не будут :)
Andrei
Aleksei (astynax)
Не, нафиг. Ещё зародится секта эльмофилов и будут писать
Just 1
|> andThen (plus 1)
|> andThen (multiply 2)
Andrei
Aleksei (astynax)
Это неосиляторство!
Aleksei (astynax)
Те, кто "имеет право", пускай свою прелюдию делают и пользуют!
Alexander
итак уже забото о newcomer-ах достала
Aleksei (astynax)
+1
Alexander
когда это превращается в то, что портит жизнь в итоге всем
Aleksei (astynax)
Заботиться то надо, но опять же "не любой ценой"
доня.
не, ну подождите
доня.
операторные алиасы-то никто не предлагает совсем убрать
доня.
просто чтобы у каждого из них был какой-никакой словесный аналог
Aleksei (astynax)
Для классов, которые могут иметь осмысленные имена для методов, стоит их и декларировать, а уж потом предоставлять алиасы
Aleksei (astynax)
Но если оператор выглядит, как .=, то синтетическое буквенное имя будет только мешать - нужно будет помнить строго в два раза больше имён
Aleksei (astynax)
Тут хотят от return в пользу pure отказаться, а вы хотите дублировать то, что в этом не нуждается
Vasiliy
Aleksei (astynax)
Meh
Vasiliy
вот как произносить оператор <*>?
Aleksei (astynax)
Alexander
"аппликативная композиция"?
Alexander
если сказать как рисуется то по символам
Aleksei (astynax)
"звёздочка в уголках"
Aleksei (astynax)
В разговорной речи никто не называет опреаторы. Говорят "скомпозь аппликативно", или "аппликатив заюзай".
Vasiliy
<$> вы тоже называете доллар в уголках?
Alexander
Vasiliy
я лично называю его фмап, всем понятно
Andrei
Alexander
смысл vs конкретная реализация
Aleksei (astynax)
"<$>" ~ "примени к функтору" или типа того
Aleksei (astynax)
Иметь алиасы вместо указания в доке "это байнд" - странная затея
Aleksei (astynax)
"должен быть ровно один способ", все дела
Aleksei (astynax)
Но отказаться от return всё равно многие хотят - т.е. хотят меньше одинаковых функций (!)
Vasiliy
честно говоря, <*> я называю "ап", хоть это и неправильно
Aleksei (astynax)
алиас, это и есть второе имя. Т.е. дубль
Alexander
у имён есть плюс их проще гуглить
Aleksei (astynax)
И коль скоро оба имени будут в ходу, нужно будет помнить оба. А голова то не резиновая