Name: Anonymous 2009-11-21 14:34
what the fuck is a monad
m of kind * -> * that possesses implemetations for these functions:return :: a -> m a
(>>=) :: m a -> (a -> m b) -> m b
m >>= return ≡ m
return a >>= f ≡ f a
m >>= f >>= g ≡ m >>= (\a -> f a >>= g)return and >>= don't make any undue changes to the monad.