subcategories-0.1.0.0: Subcategories induced by class constraints

Safe HaskellNone
LanguageHaskell2010

Control.Subcategory.Applicative

Contents

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 #

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 #

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

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

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

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

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

Instances
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 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 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 Option Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

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

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

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

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

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 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 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 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 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 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 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 SmallArray Source # 
Instance details

Defined in Control.Subcategory.Applicative

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 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 (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 #

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 #

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 (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 #

(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 #

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 #

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 (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 (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 ((->) a :: Type -> Type) 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 #

(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 #

defaultRightApply :: (Dom f (b1, b2), Dom f b2, Dom f b1, CApplicative f) => f b1 -> f b2 -> f b2 Source #

defaultLeftApply :: (Dom f (b1, b2), Dom f b1, Dom f b2, CApplicative f) => f b1 -> f b2 -> f b1 Source #

newtype CApp f a Source #

Constructors

CApp 

Fields

Instances
Functor f => Functor (CApp f) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

fmap :: (a -> b) -> CApp f a -> CApp f b #

(<$) :: a -> CApp f b -> CApp f a #

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

Defined in Control.Subcategory.Applicative

Methods

pure :: a -> CApp f a #

(<*>) :: CApp f (a -> b) -> CApp f a -> CApp f b #

liftA2 :: (a -> b -> c) -> CApp f a -> CApp f b -> CApp f c #

(*>) :: CApp f a -> CApp f b -> CApp f b #

(<*) :: CApp f a -> CApp f b -> CApp f a #

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

Defined in Control.Subcategory.Applicative

Methods

empty :: CApp f a #

(<|>) :: CApp f a -> CApp f a -> CApp f a #

some :: CApp f a -> CApp f [a] #

many :: CApp f a -> CApp f [a] #

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

Defined in Control.Subcategory.Applicative

Methods

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

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

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

Defined in Control.Subcategory.Applicative

Associated Types

type Dom (CApp f) a :: Constraint Source #

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

Defined in Control.Subcategory.Applicative

Methods

cpure :: Dom (CApp f) a => a -> CApp 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 #

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

Defined in Control.Subcategory.Applicative

Methods

cempty :: Dom (CApp f) a => CApp f a Source #

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

Defined in Control.Subcategory.Applicative

Methods

(<!>) :: Dom (CApp f) a => CApp f a -> CApp f a -> CApp f a Source #

Eq (f a) => Eq (CApp f a) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

(==) :: CApp f a -> CApp f a -> Bool #

(/=) :: CApp f a -> CApp f a -> Bool #

Ord (f a) => Ord (CApp f a) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

compare :: CApp f a -> CApp f a -> Ordering #

(<) :: CApp f a -> CApp f a -> Bool #

(<=) :: CApp f a -> CApp f a -> Bool #

(>) :: CApp f a -> CApp f a -> Bool #

(>=) :: CApp f a -> CApp f a -> Bool #

max :: CApp f a -> CApp f a -> CApp f a #

min :: CApp f a -> CApp f a -> CApp f a #

Read (f a) => Read (CApp f a) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

readsPrec :: Int -> ReadS (CApp f a) #

readList :: ReadS [CApp f a] #

readPrec :: ReadPrec (CApp f a) #

readListPrec :: ReadPrec [CApp f a] #

Show (f a) => Show (CApp f a) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

showsPrec :: Int -> CApp f a -> ShowS #

show :: CApp f a -> String #

showList :: [CApp f a] -> ShowS #

(Dom f a, CApplicative f, Semigroup a, Dom f (a, a)) => Semigroup (CApp f a) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

(<>) :: CApp f a -> CApp f a -> CApp f a #

sconcat :: NonEmpty (CApp f a) -> CApp f a #

stimes :: Integral b => b -> CApp f a -> CApp f a #

(Dom f a, CPointed f, CApplicative f, Monoid a, Dom f (a, a)) => Monoid (CApp f a) Source # 
Instance details

Defined in Control.Subcategory.Applicative

Methods

mempty :: CApp f a #

mappend :: CApp f a -> CApp f a -> CApp f a #

mconcat :: [CApp f a] -> CApp f a #

type Dom (CApp f) a Source # 
Instance details

Defined in Control.Subcategory.Applicative

type Dom (CApp f) a = Dom f a

Orphan instances

CApplicative [] Source # 
Instance details

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 Maybe Source # 
Instance details

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 IO Source # 
Instance details

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 Option Source # 
Instance details

Methods

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

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

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

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

CApplicative ZipList Source # 
Instance details

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

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

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 ReadPrec Source # 
Instance details

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 ReadP Source # 
Instance details

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 NonEmpty Source # 
Instance details

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 IntMap Source # 
Instance details

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 Tree Source # 
Instance details

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 Seq Source # 
Instance details

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

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 SmallArray Source # 
Instance details

CApplicative Array Source # 
Instance details

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 HashSet Source # 
Instance details

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

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 (Either a) Source # 
Instance details

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 #

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

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 #

CApplicative (ST s) Source # 
Instance details

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 (ST s) Source # 
Instance details

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

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 #

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

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 #

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

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 #

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

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 ((->) a :: Type -> Type) Source # 
Instance details

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 #

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

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 #