To be fair, monadic code does not necessarily have side effects. It's just a useful way of thinking about computational steps. `Maybe` is a monad that is completely pure and has no side effects: <a href="http://www.haskell.org/ghc/docs/latest/html/libraries/base/src/Data-Maybe.html#line-76" rel="nofollow">http://www.haskell.org/ghc/docs/latest/html/libraries/base/s...</a><p>I understand that this article is geared towards beginners, so this is probably just a simplification on the author's part. Other than that it's a great article.
I've tried to learn Haskell a couple times, and I keep running into the basic problem of not being able to search for info on terms like ">>=". If you don't know what it means, how do you find out? I certainly never knew until reading in this article that they were called "fish" operators. I previously tried to work through 3 or 4 different Haskell tutorials, and still didn't know this.<p>This article seems very helpful for simply enabling someone with Python experience to learn Haskell.
<i>> But Haskell programmers are allergic to extra variables.</i><p>Point-free style, best style. <a href="http://news.ycombinator.com/item?id=3233870" rel="nofollow">http://news.ycombinator.com/item?id=3233870</a>