[Haskell-beginners] runState (liftM (+100) pop) [1, 2, 3, 4] (Example from LYH)

Olumide 50295 at web.de
Tue Oct 24 09:17:46 UTC 2017


Dear List,

Apologies for the awkward question title -- its the best I can do ATM. 
I'm still working my way through chapter 13 of LYH (title for a few 
monads more) and I came across the following two beasts

ghci> runState (liftM (+100) pop) [1,2,3,4]
(101,[2,3,4])
ghci> runState (fmap (+100) pop) [1,2,3,4]
(101,[2,3,4])
See 
http://learnyouahaskell.com/for-a-few-monads-more#useful-monadic-functions

Even though I'm still struggling to wrap my mind around monads, I sort 
of understand what's going on here. The problem is that I can't explain 
why the function (+100) is applied to _only_ the value 1 in (1,[2,3,4]).

Regards,

- Olumide


More information about the Beginners mailing list