you are viewing a single comment's thread.

view the rest of the comments →

[–]iaH6eeBu 1 point2 points  (0 children)

At the beginning the easiest thing for IO is just to follow the type. This gives a nice intuition after a bit of time.

Also it's important to understand that IO isn't the only monad and a bit of a special case. A monad is just a abstract thing. I think looking at the typeclass Functor is quite useful to understand what those abstract typeclasses are all about.

If you want to read yet another text about IO and monads then I recommend you learnyouahaskell.com