Forwarded from Aleksei (astynax) Pirogov
А если обмазаться типотой и генератой — будет тяжко
Forwarded from Aleksei (astynax) Pirogov
Вон, у Сноймана, наверное, всё ок с RIO
Forwarded from Yuriy Syrovetskiy
кстати, если кому мало -Wall, добавляйте -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints
Forwarded from Алексей Худяков
Русские хакеры взломали не только американские выборы, но и Столлмана?
Forwarded from A64m AL256m qn<cores> I0
надышался в помещении, в котором было сильно назиговано
Forwarded from Ανδριούχα και Κουκούχα
эта чтоли? https://www.programmer-books.com/haskell-high-performance-programming/ PACKT мусорное издательство имхо
Programmer Books
Haskell High Performance Programming - Programmer Books
Book Description: Haskell, with its power to optimize the code and its high performance, is a natural candidate for high performance programming. It is especially well suited to stacking abstractions high with a relatively low performance cost. This book…
Forwarded from Vabka
У тебя какая-то шляпа в from написана. Как ты можешь из ничего статичный лайфтайм сделать?
Forwarded from Ανδριούχα και Κουκούχα
ненене - все проще - лук хир https://code.visualstudio.com/docs/remote/remote-overview
Visualstudio
VS Code Remote Development
Visual Studio Code Remote Development
Forwarded from Deleted Account
Создаешь record, делаешь для него инстанс FromJSON
https://t.iss.one/haskellru/212319
Misha Puzanov:
а есть какая-нибудь библиотека, чтобы показывать diff для двух произвольных структур? Задача: есть тест в квикчеке, который падает на относительно нетривиальном assert $ a == b, когда a и b — большие и сильно похожи, простой вывод в терминал не особо помогает
ну я бы ожидал какой-нибудь типа prettyPrintGenericDiff a b
Alexander Vershilov:
gdiff был, не знаю поможет ли
https://hackage.haskell.org/package/gdiff-1.1/docs/Data-Generic-Diff.html
https://hackage.haskell.org/package/gdiff-th
Misha Puzanov:
какой-то он муторный, но я попробую
спасибо!
Зигохистоморфный Препроморфизм:
https://hackage.haskell.org/package/tree-diff
Misha Puzanov:
а есть какая-нибудь библиотека, чтобы показывать diff для двух произвольных структур? Задача: есть тест в квикчеке, который падает на относительно нетривиальном assert $ a == b, когда a и b — большие и сильно похожи, простой вывод в терминал не особо помогает
ну я бы ожидал какой-нибудь типа prettyPrintGenericDiff a b
Alexander Vershilov:
gdiff был, не знаю поможет ли
https://hackage.haskell.org/package/gdiff-1.1/docs/Data-Generic-Diff.html
https://hackage.haskell.org/package/gdiff-th
Misha Puzanov:
какой-то он муторный, но я попробую
спасибо!
Зигохистоморфный Препроморфизм:
https://hackage.haskell.org/package/tree-diff
Telegram
Misha Puzanov in Haskell
а есть какая-нибудь библиотека, чтобы показывать diff для двух произвольных структур? Задача: есть тест в квикчеке, который падает на относительно нетривиальном assert $ a == b, когда a и b — большие и сильно похожи, простой вывод в терминал не особо помогает
[Forwarded from λeonid Onokhov]
[Forwarded from Aleksei (astynax) Pirogov]
Так
[Forwarded from λeonid Onokhov]
нет. он делает
у меня красивше
[Forwarded from Aleksei (astynax) Pirogov]
А у меня — гибче!
l .~? v = maybe id (set l) v вот такой комбинатор. просто было интересно если есть в линзах[Forwarded from Aleksei (astynax) Pirogov]
Так
?~ это и делает![Forwarded from λeonid Onokhov]
нет. он делает
set l (Just v)
[Forwarded from Aleksei (astynax) Pirogov]λ> justish = maybe id const[Forwarded from λeonid Onokhov]
λ> (1, 2) & _1 %~ justish (Just 42)
(42,2)
у меня красивше
[Forwarded from Aleksei (astynax) Pirogov]
λ> smthLike p = maybe id const . preview p[Forwarded from Aleksei (astynax) Pirogov]
λ> (1, 2) & _1 %~ smthLike _Just (Just 42)
(42,2)
λ> (1, 2) & _1 %~ smthLike _Left (Left 42)
(42,2)
А у меня — гибче!
IORef Settings - не самый неудачный паттерн для "горячей" замены настроек
IORef Settings тривиально превращаются в IO Settings
Да, но в одном случае ты разделяешь бизнесс-логику с реализацией, а в другой нет
class MonadSettings m where askSettings :: m Settings
ваще бест
IORef Settings тривиально превращаются в IO Settings
Да, но в одном случае ты разделяешь бизнесс-логику с реализацией, а в другой нет
class MonadSettings m where askSettings :: m Settings
ваще бест
data SettingsL = AskSettings (Settings -> SettingsL a)