
Untitled
By: a guest on
May 12th, 2012 | syntax:
None | size: 0.47 KB | hits: 20 | expires: Never
Relationship between Functor, Applicative Functor, and Monad
Every Monad is an Applicative Functor
Every Applicative Functor is a Functor
class Functor f => Applicative f where
pure :: a -> f a
(<*>) :: f (a -> b) -> f a -> f b
class Monad m where
return :: a -> m a
(>>=) :: m a -> (a -> m b) -> m b
(>>) :: m a -> m b -> m b
m >> n = m >>= _ -> n
fail :: String -> m a
class Applicative m => Monad' m where
(>>=) :: m a -> (a -> m b) -> m b