exference-1.6.0.0: environment/Applicative.hs
module Control.Applicative where
class Data.Functor.Functor f => Applicative f where
pure :: a -> f a
(<*>) :: f (a->b) -> f a -> f b
class Applicative f => Alternative f where
-- empty :: f a
(<|>) :: f a -> f a -> f a
-- some :: f a -> f [a]
-- many :: f a -> f [a]
liftA2 :: Applicative f => (a1 -> a2 -> r) -> f a1 -> f a2 -> f r
liftA3 :: Applicative f => (a1 -> a2 -> a3 -> r) -> f a1 -> f a2 -> f a3 -> f r
instance Data.Monoid.Monoid a => Applicative ((,) a)
instance Arrow a => Applicative (ArrowMonad a)
instance Control.Monad.Monad m => Applicative (Control.Monad.WrappedMonad m)
instance Data.Monoid.Monoid m => Applicative (Const m)
instance Arrow a => Applicative (WrappedArrow a b)
-- instance Typeable ((* -> *) -> Constraint) Applicative
instance Alternative []
instance ArrowPlus a => Alternative (ArrowMonad a)
instance Control.Monad.MonadPlus m => Alternative (WrappedMonad m)
-- instance Alternative f => Alternative (Alt * f)
instance (ArrowZero a, ArrowPlus a) => Alternative (WrappedArrow a b)
data ZipList a
instance Data.Functor.Functor ZipList
instance Control.Applicative.Applicative ZipList
instance GHC.Generics.Generic1 ZipList
instance Data.Eq.Eq a => Data.Eq.Eq (ZipList a)
instance Data.Ord.Ord a => Data.Ord.Ord (ZipList a)
instance Text.Read.Read a => Text.Read.Read (ZipList a)
instance Text.Show.Show a => Text.Show.Show (ZipList a)
instance GHC.Generics.Generic (ZipList a)