subcategories-0.2.0.1: Subcategories induced by class constraints
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Subcategory.Applicative.Class

Documentation

class CFunctor f => CApplicative f where Source #

Minimal complete definition

Nothing

Methods

pair :: (Dom f a, Dom f b, Dom f (a, b)) => f a -> f b -> f (a, b) Source #

default pair :: Applicative f => f a -> f b -> f (a, b) Source #

(<.>) :: (Dom f a, Dom f b, Dom f (a -> b)) => f (a -> b) -> f a -> f b infixl 4 Source #

default (<.>) :: Applicative f => f (a -> b) -> f a -> f b Source #

(.>) :: (Dom f a, Dom f b) => f a -> f b -> f b Source #

default (.>) :: Applicative f => f a -> f b -> f b Source #

(<.) :: (Dom f a, Dom f b) => f a -> f b -> f a Source #

default (<.) :: Applicative f => f a -> f b -> f a Source #

Instances

Instances details
CApplicative ZipList Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom ZipList a, Dom ZipList b, Dom ZipList (a, b)) => ZipList a -> ZipList b -> ZipList (a, b) Source #

(<.>) :: (Dom ZipList a, Dom ZipList b, Dom ZipList (a -> b)) => ZipList (a -> b) -> ZipList a -> ZipList b Source #

(.>) :: (Dom ZipList a, Dom ZipList b) => ZipList a -> ZipList b -> ZipList b Source #

(<.) :: (Dom ZipList a, Dom ZipList b) => ZipList a -> ZipList b -> ZipList a Source #

CApplicative Identity Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom Identity a, Dom Identity b, Dom Identity (a, b)) => Identity a -> Identity b -> Identity (a, b) Source #

(<.>) :: (Dom Identity a, Dom Identity b, Dom Identity (a -> b)) => Identity (a -> b) -> Identity a -> Identity b Source #

(.>) :: (Dom Identity a, Dom Identity b) => Identity a -> Identity b -> Identity b Source #

(<.) :: (Dom Identity a, Dom Identity b) => Identity a -> Identity b -> Identity a Source #

CApplicative STM Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom STM a, Dom STM b, Dom STM (a, b)) => STM a -> STM b -> STM (a, b) Source #

(<.>) :: (Dom STM a, Dom STM b, Dom STM (a -> b)) => STM (a -> b) -> STM a -> STM b Source #

(.>) :: (Dom STM a, Dom STM b) => STM a -> STM b -> STM b Source #

(<.) :: (Dom STM a, Dom STM b) => STM a -> STM b -> STM a Source #

CApplicative ReadP Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom ReadP a, Dom ReadP b, Dom ReadP (a, b)) => ReadP a -> ReadP b -> ReadP (a, b) Source #

(<.>) :: (Dom ReadP a, Dom ReadP b, Dom ReadP (a -> b)) => ReadP (a -> b) -> ReadP a -> ReadP b Source #

(.>) :: (Dom ReadP a, Dom ReadP b) => ReadP a -> ReadP b -> ReadP b Source #

(<.) :: (Dom ReadP a, Dom ReadP b) => ReadP a -> ReadP b -> ReadP a Source #

CApplicative ReadPrec Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom ReadPrec a, Dom ReadPrec b, Dom ReadPrec (a, b)) => ReadPrec a -> ReadPrec b -> ReadPrec (a, b) Source #

(<.>) :: (Dom ReadPrec a, Dom ReadPrec b, Dom ReadPrec (a -> b)) => ReadPrec (a -> b) -> ReadPrec a -> ReadPrec b Source #

(.>) :: (Dom ReadPrec a, Dom ReadPrec b) => ReadPrec a -> ReadPrec b -> ReadPrec b Source #

(<.) :: (Dom ReadPrec a, Dom ReadPrec b) => ReadPrec a -> ReadPrec b -> ReadPrec a Source #

CApplicative IntMap Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom IntMap a, Dom IntMap b, Dom IntMap (a, b)) => IntMap a -> IntMap b -> IntMap (a, b) Source #

(<.>) :: (Dom IntMap a, Dom IntMap b, Dom IntMap (a -> b)) => IntMap (a -> b) -> IntMap a -> IntMap b Source #

(.>) :: (Dom IntMap a, Dom IntMap b) => IntMap a -> IntMap b -> IntMap b Source #

(<.) :: (Dom IntMap a, Dom IntMap b) => IntMap a -> IntMap b -> IntMap a Source #

CApplicative Seq Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom Seq a, Dom Seq b, Dom Seq (a, b)) => Seq a -> Seq b -> Seq (a, b) Source #

(<.>) :: (Dom Seq a, Dom Seq b, Dom Seq (a -> b)) => Seq (a -> b) -> Seq a -> Seq b Source #

(.>) :: (Dom Seq a, Dom Seq b) => Seq a -> Seq b -> Seq b Source #

(<.) :: (Dom Seq a, Dom Seq b) => Seq a -> Seq b -> Seq a Source #

CApplicative Set Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom Set a, Dom Set b, Dom Set (a, b)) => Set a -> Set b -> Set (a, b) Source #

(<.>) :: (Dom Set a, Dom Set b, Dom Set (a -> b)) => Set (a -> b) -> Set a -> Set b Source #

(.>) :: (Dom Set a, Dom Set b) => Set a -> Set b -> Set b Source #

(<.) :: (Dom Set a, Dom Set b) => Set a -> Set b -> Set a Source #

CApplicative Tree Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom Tree a, Dom Tree b, Dom Tree (a, b)) => Tree a -> Tree b -> Tree (a, b) Source #

(<.>) :: (Dom Tree a, Dom Tree b, Dom Tree (a -> b)) => Tree (a -> b) -> Tree a -> Tree b Source #

(.>) :: (Dom Tree a, Dom Tree b) => Tree a -> Tree b -> Tree b Source #

(<.) :: (Dom Tree a, Dom Tree b) => Tree a -> Tree b -> Tree a Source #

CApplicative IO Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom IO a, Dom IO b, Dom IO (a, b)) => IO a -> IO b -> IO (a, b) Source #

(<.>) :: (Dom IO a, Dom IO b, Dom IO (a -> b)) => IO (a -> b) -> IO a -> IO b Source #

(.>) :: (Dom IO a, Dom IO b) => IO a -> IO b -> IO b Source #

(<.) :: (Dom IO a, Dom IO b) => IO a -> IO b -> IO a Source #

CApplicative Array Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom Array a, Dom Array b, Dom Array (a, b)) => Array a -> Array b -> Array (a, b) Source #

(<.>) :: (Dom Array a, Dom Array b, Dom Array (a -> b)) => Array (a -> b) -> Array a -> Array b Source #

(.>) :: (Dom Array a, Dom Array b) => Array a -> Array b -> Array b Source #

(<.) :: (Dom Array a, Dom Array b) => Array a -> Array b -> Array a Source #

CApplicative SmallArray Source # 
Instance details

Defined in Control.Subcategory.Applicative

CApplicative HashSet Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom HashSet a, Dom HashSet b, Dom HashSet (a, b)) => HashSet a -> HashSet b -> HashSet (a, b) Source #

(<.>) :: (Dom HashSet a, Dom HashSet b, Dom HashSet (a -> b)) => HashSet (a -> b) -> HashSet a -> HashSet b Source #

(.>) :: (Dom HashSet a, Dom HashSet b) => HashSet a -> HashSet b -> HashSet b Source #

(<.) :: (Dom HashSet a, Dom HashSet b) => HashSet a -> HashSet b -> HashSet a Source #

CApplicative Vector Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom Vector a, Dom Vector b, Dom Vector (a, b)) => Vector a -> Vector b -> Vector (a, b) Source #

(<.>) :: (Dom Vector a, Dom Vector b, Dom Vector (a -> b)) => Vector (a -> b) -> Vector a -> Vector b Source #

(.>) :: (Dom Vector a, Dom Vector b) => Vector a -> Vector b -> Vector b Source #

(<.) :: (Dom Vector a, Dom Vector b) => Vector a -> Vector b -> Vector a Source #

CApplicative NonEmpty Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom NonEmpty a, Dom NonEmpty b, Dom NonEmpty (a, b)) => NonEmpty a -> NonEmpty b -> NonEmpty (a, b) Source #

(<.>) :: (Dom NonEmpty a, Dom NonEmpty b, Dom NonEmpty (a -> b)) => NonEmpty (a -> b) -> NonEmpty a -> NonEmpty b Source #

(.>) :: (Dom NonEmpty a, Dom NonEmpty b) => NonEmpty a -> NonEmpty b -> NonEmpty b Source #

(<.) :: (Dom NonEmpty a, Dom NonEmpty b) => NonEmpty a -> NonEmpty b -> NonEmpty a Source #

CApplicative Maybe Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom Maybe a, Dom Maybe b, Dom Maybe (a, b)) => Maybe a -> Maybe b -> Maybe (a, b) Source #

(<.>) :: (Dom Maybe a, Dom Maybe b, Dom Maybe (a -> b)) => Maybe (a -> b) -> Maybe a -> Maybe b Source #

(.>) :: (Dom Maybe a, Dom Maybe b) => Maybe a -> Maybe b -> Maybe b Source #

(<.) :: (Dom Maybe a, Dom Maybe b) => Maybe a -> Maybe b -> Maybe a Source #

CApplicative [] Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom [] a, Dom [] b, Dom [] (a, b)) => [a] -> [b] -> [(a, b)] Source #

(<.>) :: (Dom [] a, Dom [] b, Dom [] (a -> b)) => [a -> b] -> [a] -> [b] Source #

(.>) :: (Dom [] a, Dom [] b) => [a] -> [b] -> [b] Source #

(<.) :: (Dom [] a, Dom [] b) => [a] -> [b] -> [a] Source #

CApplicative (ST s) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom (ST s) a, Dom (ST s) b, Dom (ST s) (a, b)) => ST s a -> ST s b -> ST s (a, b) Source #

(<.>) :: (Dom (ST s) a, Dom (ST s) b, Dom (ST s) (a -> b)) => ST s (a -> b) -> ST s a -> ST s b Source #

(.>) :: (Dom (ST s) a, Dom (ST s) b) => ST s a -> ST s b -> ST s b Source #

(<.) :: (Dom (ST s) a, Dom (ST s) b) => ST s a -> ST s b -> ST s a Source #

CApplicative (Either a) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom (Either a) a0, Dom (Either a) b, Dom (Either a) (a0, b)) => Either a a0 -> Either a b -> Either a (a0, b) Source #

(<.>) :: (Dom (Either a) a0, Dom (Either a) b, Dom (Either a) (a0 -> b)) => Either a (a0 -> b) -> Either a a0 -> Either a b Source #

(.>) :: (Dom (Either a) a0, Dom (Either a) b) => Either a a0 -> Either a b -> Either a b Source #

(<.) :: (Dom (Either a) a0, Dom (Either a) b) => Either a a0 -> Either a b -> Either a a0 Source #

CApplicative (ST s) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom (ST s) a, Dom (ST s) b, Dom (ST s) (a, b)) => ST s a -> ST s b -> ST s (a, b) Source #

(<.>) :: (Dom (ST s) a, Dom (ST s) b, Dom (ST s) (a -> b)) => ST s (a -> b) -> ST s a -> ST s b Source #

(.>) :: (Dom (ST s) a, Dom (ST s) b) => ST s a -> ST s b -> ST s b Source #

(<.) :: (Dom (ST s) a, Dom (ST s) b) => ST s a -> ST s b -> ST s a Source #

Ord k => CApplicative (Map k) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom (Map k) a, Dom (Map k) b, Dom (Map k) (a, b)) => Map k a -> Map k b -> Map k (a, b) Source #

(<.>) :: (Dom (Map k) a, Dom (Map k) b, Dom (Map k) (a -> b)) => Map k (a -> b) -> Map k a -> Map k b Source #

(.>) :: (Dom (Map k) a, Dom (Map k) b) => Map k a -> Map k b -> Map k b Source #

(<.) :: (Dom (Map k) a, Dom (Map k) b) => Map k a -> Map k b -> Map k a Source #

Applicative f => CApplicative (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom (WrapFunctor f) a, Dom (WrapFunctor f) b, Dom (WrapFunctor f) (a, b)) => WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f (a, b) Source #

(<.>) :: (Dom (WrapFunctor f) a, Dom (WrapFunctor f) b, Dom (WrapFunctor f) (a -> b)) => WrapFunctor f (a -> b) -> WrapFunctor f a -> WrapFunctor f b Source #

(.>) :: (Dom (WrapFunctor f) a, Dom (WrapFunctor f) b) => WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f b Source #

(<.) :: (Dom (WrapFunctor f) a, Dom (WrapFunctor f) b) => WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f a Source #

(Eq k, Hashable k) => CApplicative (HashMap k) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom (HashMap k) a, Dom (HashMap k) b, Dom (HashMap k) (a, b)) => HashMap k a -> HashMap k b -> HashMap k (a, b) Source #

(<.>) :: (Dom (HashMap k) a, Dom (HashMap k) b, Dom (HashMap k) (a -> b)) => HashMap k (a -> b) -> HashMap k a -> HashMap k b Source #

(.>) :: (Dom (HashMap k) a, Dom (HashMap k) b) => HashMap k a -> HashMap k b -> HashMap k b Source #

(<.) :: (Dom (HashMap k) a, Dom (HashMap k) b) => HashMap k a -> HashMap k b -> HashMap k a Source #

Semigroup w => CApplicative ((,) w) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom ((,) w) a, Dom ((,) w) b, Dom ((,) w) (a, b)) => (w, a) -> (w, b) -> (w, (a, b)) Source #

(<.>) :: (Dom ((,) w) a, Dom ((,) w) b, Dom ((,) w) (a -> b)) => (w, a -> b) -> (w, a) -> (w, b) Source #

(.>) :: (Dom ((,) w) a, Dom ((,) w) b) => (w, a) -> (w, b) -> (w, b) Source #

(<.) :: (Dom ((,) w) a, Dom ((,) w) b) => (w, a) -> (w, b) -> (w, a) Source #

Semigroup w => CApplicative (Const w :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom (Const w) a, Dom (Const w) b, Dom (Const w) (a, b)) => Const w a -> Const w b -> Const w (a, b) Source #

(<.>) :: (Dom (Const w) a, Dom (Const w) b, Dom (Const w) (a -> b)) => Const w (a -> b) -> Const w a -> Const w b Source #

(.>) :: (Dom (Const w) a, Dom (Const w) b) => Const w a -> Const w b -> Const w b Source #

(<.) :: (Dom (Const w) a, Dom (Const w) b) => Const w a -> Const w b -> Const w a Source #

CApplicative f => CApplicative (CAlt f) Source # 
Instance details

Defined in Control.Subcategory.Alternative

Methods

pair :: (Dom (CAlt f) a, Dom (CAlt f) b, Dom (CAlt f) (a, b)) => CAlt f a -> CAlt f b -> CAlt f (a, b) Source #

(<.>) :: (Dom (CAlt f) a, Dom (CAlt f) b, Dom (CAlt f) (a -> b)) => CAlt f (a -> b) -> CAlt f a -> CAlt f b Source #

(.>) :: (Dom (CAlt f) a, Dom (CAlt f) b) => CAlt f a -> CAlt f b -> CAlt f b Source #

(<.) :: (Dom (CAlt f) a, Dom (CAlt f) b) => CAlt f a -> CAlt f b -> CAlt f a Source #

CApplicative f => CApplicative (CApp f) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom (CApp f) a, Dom (CApp f) b, Dom (CApp f) (a, b)) => CApp f a -> CApp f b -> CApp f (a, b) Source #

(<.>) :: (Dom (CApp f) a, Dom (CApp f) b, Dom (CApp f) (a -> b)) => CApp f (a -> b) -> CApp f a -> CApp f b Source #

(.>) :: (Dom (CApp f) a, Dom (CApp f) b) => CApp f a -> CApp f b -> CApp f b Source #

(<.) :: (Dom (CApp f) a, Dom (CApp f) b) => CApp f a -> CApp f b -> CApp f a Source #

(CApplicative f, CApplicative g) => CApplicative (Product f g) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom (Product f g) a, Dom (Product f g) b, Dom (Product f g) (a, b)) => Product f g a -> Product f g b -> Product f g (a, b) Source #

(<.>) :: (Dom (Product f g) a, Dom (Product f g) b, Dom (Product f g) (a -> b)) => Product f g (a -> b) -> Product f g a -> Product f g b Source #

(.>) :: (Dom (Product f g) a, Dom (Product f g) b) => Product f g a -> Product f g b -> Product f g b Source #

(<.) :: (Dom (Product f g) a, Dom (Product f g) b) => Product f g a -> Product f g b -> Product f g a Source #

CApplicative ((->) a) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

pair :: (Dom ((->) a) a0, Dom ((->) a) b, Dom ((->) a) (a0, b)) => (a -> a0) -> (a -> b) -> a -> (a0, b) Source #

(<.>) :: (Dom ((->) a) a0, Dom ((->) a) b, Dom ((->) a) (a0 -> b)) => (a -> (a0 -> b)) -> (a -> a0) -> a -> b Source #

(.>) :: (Dom ((->) a) a0, Dom ((->) a) b) => (a -> a0) -> (a -> b) -> a -> b Source #

(<.) :: (Dom ((->) a) a0, Dom ((->) a) b) => (a -> a0) -> (a -> b) -> a -> a0 Source #