On Mon, Apr 27, 2009 at 4:19 PM, Martijn van Steenbergen
<martijn@van.steenbergen.nl> wrote:
They are in order of power: every monad is an applicative; every applicative is a functor; every functor is pointed.
Though I can't think of any non-functor pointiness at the moment.
Martijn.
On the other hand, here's an un-pure-able and un-point-able functor:
instance Functor ((,) m) where
--fmap :: (n -> n') -> (m, n) -> (m, n')
fmap f (m, n) = (m, f n)