Size: a a a

2021 December 09

AP

Aleksei (astynax) Pi... in Haskell Start
👍
источник

Д

Дмитрий in Haskell Start
Только зачем тут get и put?
источник

AP

Aleksei (astynax) Pi... in Haskell Start
можно через state,  да
источник

Д

Дмитрий in Haskell Start
let (a,w) = runWriter m in state $ \s -> (a, s `mappend` w)
источник

AP

Aleksei (astynax) Pi... in Haskell Start
get и put тоже через state могут быть реализованы
источник
2021 December 10

D

Dmitry in Haskell Start
ребят, у меня вопрос за который можно поплатиться жизнью в чате с хаскеллистами, но

допустим у меня определён новый тип
data Identity a = I a
я определяю для него инстанс функтора, чтобы разворачивать данный тип до ближайшего типа, уже имеющего функтор
instance Functor Identity where
 ...
я определяю для него инстанс аппликатива для последовательной аппликации
instance Applicative Identity where
 ...
а теперь хочу чтобы список [Identity] тоже можно отмапить

какой инстанс нужно для него написать?
источник

GP

Grigory Petrov in Haskell Start
композиция функторов подойдет?
источник

GP

Grigory Petrov in Haskell Start
источник

GP

Grigory Petrov in Haskell Start
либо просто можно написать fmap . fmap
источник

D

Dmitry in Haskell Start
я не понимаю как двухаргументную функцию спаивают с двухаргументной
источник

GP

Grigory Petrov in Haskell Start
источник

GP

Grigory Petrov in Haskell Start
либо так
источник

GP

Grigory Petrov in Haskell Start
в функции у фмапа у вас может быть другой фмап, который залезет в следущий функтор
источник

GP

Grigory Petrov in Haskell Start
а проблема отдельного инстанса для функтора [Identity] в том, что уже есть более общий инстанс функтора для [a]
источник

D

Dmitry in Haskell Start
а можете показать именно композицию fmap . fmap?
источник

GP

Grigory Petrov in Haskell Start
(fmap . fmap) (+1) a
источник

D

Dmitry in Haskell Start
спасибо большое!
источник

GP

Grigory Petrov in Haskell Start
но лучше писать то, что выглядит для вам более читабельным)
источник

D

Dmitry in Haskell Start
да вот как раз-таки я и хотел понять как можно сделать композицию из n-арных функций
источник

AP

Aleksei (astynax) Pi... in Haskell Start
так это не она
источник