Simple monad examples
From HaskellWiki
This page is designed to show some simple examples of using monads, specifically using Maybe.
I personally found that I reached monadenlightenment once I contrived this simple example while playing around to see the "guts" of a monadic expression:
Just 5 >>= (\ x > if (x == 0) then fail "zero" else Just (x + 1) )
Which results in:
Just 6
All you really need to know, is that the >>= operator either returns "Nothing" if it is passed "Nothing" on its lefthand side; or if its lefthand side is a "Just ..." it strips off the just, and passes the contents into the function supplied on its righthand side. Simple!
Some simple exercises
What would the following snippets resolve to?

Just 0 >>= (\ x > if (x == 0) then fail "zero" else Just (x + 1) )

Nothing >>= (\ x > if (x == 0) then fail "zero" else Just (x + 1) )
More examples can be found in the reference guide A tour of the Haskell Monad functions, by HenkJan van Tuyl.