Vasiliy
aggressive-indent вроде часть из этого покрывает
но почему-то я его включаю только для elisp/clojure
ᛏᚺᛖ ᛚᛖᛋᛒᛁᚨᚾ ᛗᚨᚾ ᚷᛁᚱᛚ 🐝
выравниваешь*
Алексей
Выравниваю
кана
по моему иногда выравниваю
кана
но это когда красиво пишу чтобы зафоткать решение например
кана
так-то я пишу в разные стороны одновременно
ᛏᚺᛖ ᛚᛖᛋᛒᛁᚨᚾ ᛗᚨᚾ ᚷᛁᚱᛚ 🐝
Vasiliy
типа начинаешь из середины листа?
ᛏᚺᛖ ᛚᛖᛋᛒᛁᚨᚾ ᛗᚨᚾ ᚷᛁᚱᛚ 🐝
кана
это когда текст скачет вниз, потом вверх, конец уравнения может вдруг пойти по вертикали, всякие линии и клеточки игнорируются
Алексей
Читать что понаписал удобней.
Leonid 🦇
Я думал чукча не читатель
ᛏᚺᛖ ᛚᛖᛋᛒᛁᚨᚾ ᛗᚨᚾ ᚷᛁᚱᛚ 🐝
и переносы строк уже не очень читаемые
Алексей
Не очень. Если уравнение не влазит в строчку — у вас в любом случае проблемы
ᛏᚺᛖ ᛚᛖᛋᛒᛁᚨᚾ ᛗᚨᚾ ᚷᛁᚱᛚ 🐝
Alexander
еще и дифы лишние при таком выравнивании
Alexander
лишние строки в диффах это не удобно
Alexander
для blame-ов и т.п.
Andrei
Alexander
но я не знаю перевешивает ли это удобство чтения во всех случаях
Alexander
почему ConduitT не профунктор?
Leonid 🦇
Потому что профунктор еще не в base?
Denis
потому что ребе
kosc
@qnikst как там было в Serokell?
Denis
универсальный ответ на вопросы о библиотеках ребе
Alexander
@hotkosc мирно и лампово
Alexander
прикольно весьма
Cheese
http://i.juick.com/photos-512/1857158.jpg
Vladislav
мемно
A64m
говорят, должно помогать при оптимизации дженериков
https://github.com/ghc/ghc/commit/afad5561d88f04744c398ef0640d846db6262aa0
kosc
А насоветуйте книжек по хаскелю. Вот из тех, которые сами читали и действительно что-то полезное, интересное для себя вынесли из них.
Vladislav
LYAH
kosc
For Great Good?
Vladislav
Да
Leonid 🦇
/me начинал с RWH, но тогда ничего больше не было
Aleksei (astynax)
+1 за LYAH
Aleksei (astynax)
По ней понял монады :)
kosc
Ах да, могу добавить, что я осилил двухтомник Душкина.
kosc
И вроде как можно попробовать что-то хардкорнее, чем LYAH.
kosc
Наверное.
Vladislav
После LYAH ничего нормального нет, но РАБОТЫ ВЕДУТСЯ.
Leonid 🦇
дайте ссылку на пост Брагилевского с обзором литературы
A64m
начинал с джентл интродакшн, тогда был еще ЙАХТ, читать не рекомендую, особенно второй.
kosc
А Душкин - это pre-LYAH-чтиво, post-LYAH или ninuzhno-чтиво?
A64m
но это и не книги даже
A64m
третье
Alexander
я читал душкина
Alexander
из-за этого я начал писать на haskell на пол-года - год позже чем мог бы
Alexander
т.к. забросил
Alexandr
или это не то?
Alexander
https://twitter.com/backendsecret/status/976043035476807680
только у меня ощущение что stack стал хуже, а не лучше?
Alexander
cabal можно допилить и он станет нормальным, а стек допилить нельзя
Dmitry
Лучше уж с ohaskell.guide начинать, ну и далее по ссылкам.
A64m
A64m
Dmitry
Подскажите, а как использовать в Servant'е bracket из Control.Monad.Catch? Точнее, внутри монады ServantM. Надо, чтобы сервантовский Handler обладал MonadMask, а он не обладает: https://github.com/haskell-servant/servant/blob/master/servant-server/src/Servant/Server/Internal/Handler.hs.
Я пытаюсь автоматически задерайвить у себя в коде так: deriving instance MonadMask Handler, на что он мне отвечает, что надо MonadMask ещё и для ExceptT и так далее.
Может, кто сталкивался? Как внутри ServantM использовать bracket?
Dmitry
Ну или как MonadMask привести куда-нибудь в MonadCatch...
Leonid 🦇
он не может быть Mask потому что он замыкает вычисления (ExceptT)
Leonid 🦇
Можно через lifted-base, оно использует MonadBaseControl
Leonid 🦇
Но я бы ловил исключения где-то в другом месте
Denis
Alexander
Alexander
хотя в последних версиях трансформеров же есть уже MonadMask?
Dmitry
А, вариант...
Leonid 🦇
Handler не трансформер же
Dmitry
А у меня lts-8.18, там exceptions староват
Leonid 🦇
для Handler не написать MonadMask!
Leonid 🦇
во вторых, свою монаду-хэндлер нужно преобразовывать в Handler из серванта
Leonid 🦇
https://hackage.haskell.org/package/servant-server-0.13/docs/Servant-Server.html#g:5
Leonid 🦇
/me опять ужаснулся фиолетово-розовым ссылкам
Leonid 🦇
^ @dmalkr
Alexander
вообще делать mmorph в то что нужно и все
Alexander
serveWithContext dataLayerAPI cfg
$ hoistServerWithContext dataLayerAPI (Proxy :: Proxy '[CookieSettings, JWTSettings])
(dlToHandler env prs bu) (impl jwtSettings)