Skip to main content

Monad

  • subclass of Applicative

Functions

class Monad m where
(>>=) :: m a -> ( a -> m b) -> m b
(>>) :: m a -> m b -> m b
return :: a -> m a

Operators

  • (>>=) is infix form of bind

Laws

return a >>= k                  =  k a
m >>= return = m
m >>= (\x -> k x >>= h) = (m >>= k) >>= h

References

  • Monad on the HaskellWiki.