A SyntacticSugar used in the HaskellLanguage to make use of monads (OnMonads) easier. Instead of writing code like this:
m1 >>= \x -> m2 >>= \y -> return (x + y)
Haskell programmers can (and usually do) write this:
do
x <- m1
y <- m2
return (x + y)