Size: a a a

2020 June 26

TA

Tel Asc in Haskell
Задача именно завернуть стейт в какой-то тип...
Т.е. у меня есть какой-то StateT s m b и я потом буду заворачивать s в w...
источник

к

кана in Haskell
источник

TA

Tel Asc in Haskell
Но мне кажется,что с моноидом это хотя-бы более обобщенно...
источник

к

кана in Haskell
но при этом требует инстанс моноида на результаты, что уже менее обобщенно
источник

TA

Tel Asc in Haskell
А () не моноид?
источник

к

кана in Haskell
например процедуры которые будут возвращать инты, уже нельзя будет использовать, не мапнув их на Sum/Prod
источник

TA

Tel Asc in Haskell
кана
например процедуры которые будут возвращать инты, уже нельзя будет использовать, не мапнув их на Sum/Prod
Я к тому что если потом понадобится для какого-то моноида...
источник

к

кана in Haskell
ну с моноидом все вроде так как у вас изначально было
источник

к

кана in Haskell
источник

к

кана in Haskell
хоть я считаю, что возвращать просто w b вместо b еще обобщенне
источник

к

кана in Haskell
потому что это позвозит и моноидально результаты свернуть если что (fmap fold), и не будет требовать моноид
источник

TA

Tel Asc in Haskell
Но под мою задачу это уже не подойдёт...
источник

к

кана in Haskell
да почему
источник

к

кана in Haskell
источник

к

кана in Haskell
сразу и для моноида, и для юнита выводится из этого обобщенного решения
источник

TA

Tel Asc in Haskell
Да, действительно обобщение...
источник

TA

Tel Asc in Haskell
Хотя ,я уже понял,что State мне не особо нужен...
Я заменю его на Reader а заменой set/get будет какая-то абстрактная монада m...
get :: k -> m v
set :: k -> v -> m ()
источник

к

кана in Haskell
так это же стейт над мапой и есть
источник

TA

Tel Asc in Haskell
Я думаю мне просто с Reader будет проще работать...
Т.к. у меня в коде и reader и State
источник

TA

Tel Asc in Haskell
Но вообще это довольно спорно...
Т.к. с Reader намного проще,но потом все равно придется даже после использования State в монаду пихать set k v...
источник