Monad
Jump to navigation
Jump to search
import Control.Monad |
The Monad class is defined like this:
class Monad m where (>>=) :: m a -> (a -> m b) -> m b (>>) :: m a -> m b -> m b return :: a -> m a fail :: String -> m a
All instances of Monad should obey:
return a >>= k = k a m >>= return = m m >>= (\x -> k x >>= h) = (m >>= k) >>= h