Size: a a a

2021 January 17

A

Aragaer in Haskell Start
ну а у меня семантика завязана на стейт же
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Тогда нужно было делать, как кана сказал
источник

AP

Aleksei (astynax) Pi... in Haskell Start
State World [a] и использовать
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Трансформеры нужны там, где не пишешь инстансы
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Чтобы просто композить.

У вас же только кода больше от того, что StateT
источник

A

Aragaer in Haskell Start
мм.. стоп, мне нужно чтобы внутри была функция вида World -> [(a,World)]
источник

A

Aragaer in Haskell Start
а у State World [a] функция вида World -> ([a], World)
источник

к

кана in Haskell Start
так, не, StateT World [] a и State World [a] это все такие разные типы, если не учитывать инстансы, потому что в StateT world [] будет много разных стейтов, а в State World [a] только один
источник

A

Aragaer in Haskell Start
именно. Мне как раз нужны разные
источник

AP

Aleksei (astynax) Pi... in Haskell Start
State World [(a, World)], ну вы чего
источник

A

Aragaer in Haskell Start
но сам по себе StateT World [] a дает список, но они могут совпадать. А я хочу оставить только разные
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Aleksei (astynax) Pirogov
State World [(a, World)], ну вы чего
Это ровно вот это ваше "World -> [(a,World)]" и есть!
источник

к

кана in Haskell Start
а тут World будет дублироваться, это тогда Reader World [(a, World)]
источник

A

Aragaer in Haskell Start
эмм.. Reader World [(a,World)]
источник

A

Aragaer in Haskell Start
ну да
источник

к

кана in Haskell Start
Aleksei (astynax) Pirogov
Это ровно вот это ваше "World -> [(a,World)]" и есть!
не, это будет World -> (World, [(a, World)])
источник

AP

Aleksei (astynax) Pi... in Haskell Start
кана
не, это будет World -> (World, [(a, World)])
Это решается exec вместо run
источник

AP

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

к

кана in Haskell Start
но я бы посоветовал просто взять явную функцию

newtype A a = A (World -> [(a, World)])
источник

к

кана in Haskell Start
потому что StateT путает, кажется что инстанс один, а он совсем другой
источник