Functional ProgrammingMonadOn this pageMonad subclass of Applicative Functions class Monad m where(>>=) :: m a -> ( a -> m b) -> m b(>>) :: m a -> m b -> m breturn :: a -> m a Operators (>>=) is infix form of bind Laws return a >>= k = k am >>= return = mm >>= (\x -> k x >>= h) = (m >>= k) >>= h References Monad on the HaskellWiki.