Size: a a a

2021 March 02

AP

Aleksei (astynax) Pi... in Haskell Start
Таковой можно и в поле класть прямо как есть
источник

A

Artem 🏳️‍🌈 USSR Gay ... in Haskell Start
Aleksei (astynax) Pirogov
Вообще класс Currency выглядит синтетическим. Не стоит совсем уж "интерфейсы" городить на классах
понял. А как тогда допустим интерфейсы выражают? ну типа DI и вот это все? тоже через рекорд функций?
источник

AP

Aleksei (astynax) Pi... in Haskell Start
data Currency = Currency
 { code :: String
 ...
 }

rub = Currency
 { code = "RUR"
 ,
 }

data Amount = Amount
 {
 currency :: Currency
 }
источник

AP

Aleksei (astynax) Pi... in Haskell Start
DI может быть выражен как Reader с таким вот рекордом функций
источник

A

Artem 🏳️‍🌈 USSR Gay ... in Haskell Start
окей я понял. Спасибо)
источник

AP

Aleksei (astynax) Pi... in Haskell Start
data Logging = Logging
 { logError :: String -> IO ()
 , logWarning :: String -> IO ()
 )

data HasLogging m = ReaderT Logging m
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Вот это "инжекция логгера"
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Один из вариантов. Самый простой, можно сказать.
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Плюс этого подхода в том, что зависимость является обычным значением, которое можно создать на лету, например
источник

AP

Aleksei (astynax) Pi... in Haskell Start
с помощью local можно временно подменять зависимость: заглушать логирование для отдельных кусков кода, например
источник

A

Artem 🏳️‍🌈 USSR Gay ... in Haskell Start
понял. почитаю, спасибо )
источник
2021 March 04

E

Elijah in Haskell Start
Доброго дня всем, а я могу сбросить сюда файл и попросить совета как улучшить этот код?
источник

к

кана in Haskell Start
можешь конечно, но лично мне например было бы лень смотреть какой-то большой файл, лучше какие-нибудь маленькие куски скидывать
источник

E

Elijah in Haskell Start
50 строк
источник

JS

Jerzy Syrowiecki in Haskell Start
Elijah
Доброго дня всем, а я могу сбросить сюда файл и попросить совета как улучшить этот код?
да, конечно, но лучше ссылкой на гист, чем файлом
источник

JS

Jerzy Syrowiecki in Haskell Start
чтобы на мобильниках почитать можно было
источник

E

Elijah in Haskell Start
я дочитал первую книгу и решил попробовать написать алгоритм хаффмана, условный файл строит дерево, кодирует текст, затем раскодирует и печатает
источник

E

Elijah in Haskell Start
сейчас сделаю гист
источник

E

Elijah in Haskell Start
источник

JS

Jerzy Syrowiecki in Haskell Start
let-in лучше заменить на where
источник