subcategories-0.1.0.0: Subcategories induced by class constraints

Safe HaskellNone
LanguageHaskell2010

Control.Subcategory.Functor

Contents

Synopsis

Documentation

class Constrained (f :: Type -> Type) Source #

Associated Types

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

Instances
Constrained [] Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom [] a :: Constraint Source #

Constrained Maybe Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Maybe a :: Constraint Source #

Constrained IO Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom IO a :: Constraint Source #

Constrained Par1 Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Par1 a :: Constraint Source #

Constrained Complex Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Complex a :: Constraint Source #

Constrained Min Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Min a :: Constraint Source #

Constrained Max Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Max a :: Constraint Source #

Constrained First Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom First a :: Constraint Source #

Constrained Last Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Last a :: Constraint Source #

Constrained Option Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Option a :: Constraint Source #

Constrained ArgOrder Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom ArgOrder a :: Constraint Source #

Constrained OptDescr Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom OptDescr a :: Constraint Source #

Constrained ArgDescr Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom ArgDescr a :: Constraint Source #

Constrained ZipList Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom ZipList a :: Constraint Source #

Constrained Identity Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Identity a :: Constraint Source #

Constrained Handler Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Handler a :: Constraint Source #

Constrained STM Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom STM a :: Constraint Source #

Constrained First Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom First a :: Constraint Source #

Constrained Last Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Last a :: Constraint Source #

Constrained Dual Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Dual a :: Constraint Source #

Constrained Sum Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Sum a :: Constraint Source #

Constrained Product Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Product a :: Constraint Source #

Constrained Down Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Down a :: Constraint Source #

Constrained ReadPrec Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom ReadPrec a :: Constraint Source #

Constrained ReadP Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom ReadP a :: Constraint Source #

Constrained NonEmpty Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom NonEmpty a :: Constraint Source #

Constrained IntMap Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom IntMap a :: Constraint Source #

Constrained Tree Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Tree a :: Constraint Source #

Constrained Seq Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Seq a :: Constraint Source #

Constrained Set Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Set a :: Constraint Source #

Constrained PrimArray Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom PrimArray a :: Constraint Source #

Constrained SmallArray Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom SmallArray a :: Constraint Source #

Constrained Array Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Array a :: Constraint Source #

Constrained HashSet Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom HashSet a :: Constraint Source #

Constrained Vector Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Vector a :: Constraint Source #

Constrained Vector Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Vector a :: Constraint Source #

Constrained Vector Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Vector a :: Constraint Source #

Constrained Vector Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Vector a :: Constraint Source #

Constrained (Either a) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (Either a) a :: Constraint Source #

Constrained (V1 :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom V1 a :: Constraint Source #

Constrained (U1 :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom U1 a :: Constraint Source #

Constrained ((,) a) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom ((,) a) a :: Constraint Source #

Constrained (ST s) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (ST s) a :: Constraint Source #

Constrained (Arg a) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (Arg a) a :: Constraint Source #

Constrained (ST s) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (ST s) a :: Constraint Source #

Constrained (WrappedMonad m) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (WrappedMonad m) a :: Constraint Source #

Constrained (ArrowMonad a) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (ArrowMonad a) a :: Constraint Source #

Constrained (Proxy :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom Proxy a :: Constraint Source #

Constrained (Map k) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (Map k) a :: Constraint Source #

Constrained (HashMap k) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (HashMap k) a :: Constraint Source #

Constrained (WrappedMono mono) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (WrappedMono mono) a :: Constraint Source #

Constrained (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

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

Constrained (Rec1 f) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

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

Constrained (URec Char :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (URec Char) a :: Constraint Source #

Constrained (URec Double :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (URec Double) a :: Constraint Source #

Constrained (URec Float :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (URec Float) a :: Constraint Source #

Constrained (URec Int :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (URec Int) a :: Constraint Source #

Constrained (URec Word :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (URec Word) a :: Constraint Source #

Constrained (URec (Ptr ()) :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (URec (Ptr ())) a :: Constraint Source #

Constrained (WrappedArrow a b) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (WrappedArrow a b) a :: Constraint Source #

Constrained (Const m :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (Const m) a :: Constraint Source #

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

Defined in Control.Subcategory.Functor

Associated Types

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

Constrained (Alt f) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

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

Constrained (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (WrapMono mono) a :: Constraint Source #

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

Defined in Control.Subcategory.Applicative

Associated Types

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

Constrained (CAlt f) Source # 
Instance details

Defined in Control.Subcategory.Alternative

Associated Types

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

Constrained (CZippy f) Source # 
Instance details

Defined in Control.Subcategory.Zip

Associated Types

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

Constrained ((->) r :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom ((->) r) a :: Constraint Source #

Constrained (K1 i c :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (K1 i c) a :: Constraint Source #

Constrained (f :+: g) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (f :+: g) a :: Constraint Source #

Constrained (f :*: g) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (f :*: g) a :: Constraint Source #

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

Defined in Control.Subcategory.Functor

Associated Types

type Dom (Product f g) a :: Constraint Source #

(Constrained f, Constrained g) => Constrained (Sum f g) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (Sum f g) a :: Constraint Source #

Constrained (M1 i c f) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (M1 i c f) a :: Constraint Source #

Constrained (f :.: g) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (f :.: g) a :: Constraint Source #

(Constrained f, Constrained g) => Constrained (Compose f g) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (Compose f g) a :: Constraint Source #

class Constrained f => CFunctor f where Source #

Minimal complete definition

Nothing

Methods

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

cmap :: Functor f => (a -> b) -> f a -> f b Source #

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

Instances
CFunctor [] Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Maybe Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor IO Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Par1 Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Complex Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Min Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Max Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor First Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Last Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Option Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor ArgOrder Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor OptDescr Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor ArgDescr Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor ZipList Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Identity Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Handler Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor STM Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor First Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Last Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Dual Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Sum Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Product Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Down Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor ReadPrec Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor ReadP Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor NonEmpty Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor IntMap Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Tree Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Seq Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Set Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor PrimArray Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor SmallArray Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Array Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor HashSet Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Vector Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Vector Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Vector Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor Vector Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor (Either a) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor (V1 :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor (U1 :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor ((,) a) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor (ST s) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor (Arg a) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor (ST s) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

Monad m => CFunctor (WrappedMonad m) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (WrappedMonad m) a, Dom (WrappedMonad m) b) => (a -> b) -> WrappedMonad m a -> WrappedMonad m b Source #

(<$:) :: (Dom (WrappedMonad m) a, Dom (WrappedMonad m) b) => a -> WrappedMonad m b -> WrappedMonad m a Source #

Arrow a => CFunctor (ArrowMonad a) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor (Proxy :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

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

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor (HashMap k) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

MonoFunctor mono => CFunctor (WrappedMono mono) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (WrappedMono mono) a, Dom (WrappedMono mono) b) => (a -> b) -> WrappedMono mono a -> WrappedMono mono b Source #

(<$:) :: (Dom (WrappedMono mono) a, Dom (WrappedMono mono) b) => a -> WrappedMono mono b -> WrappedMono mono a Source #

Functor f => CFunctor (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

Functor f => CFunctor (Rec1 f) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor (URec Char :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (URec Char) a, Dom (URec Char) b) => (a -> b) -> URec Char a -> URec Char b Source #

(<$:) :: (Dom (URec Char) a, Dom (URec Char) b) => a -> URec Char b -> URec Char a Source #

CFunctor (URec Double :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (URec Double) a, Dom (URec Double) b) => (a -> b) -> URec Double a -> URec Double b Source #

(<$:) :: (Dom (URec Double) a, Dom (URec Double) b) => a -> URec Double b -> URec Double a Source #

CFunctor (URec Float :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (URec Float) a, Dom (URec Float) b) => (a -> b) -> URec Float a -> URec Float b Source #

(<$:) :: (Dom (URec Float) a, Dom (URec Float) b) => a -> URec Float b -> URec Float a Source #

CFunctor (URec Int :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (URec Int) a, Dom (URec Int) b) => (a -> b) -> URec Int a -> URec Int b Source #

(<$:) :: (Dom (URec Int) a, Dom (URec Int) b) => a -> URec Int b -> URec Int a Source #

CFunctor (URec Word :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (URec Word) a, Dom (URec Word) b) => (a -> b) -> URec Word a -> URec Word b Source #

(<$:) :: (Dom (URec Word) a, Dom (URec Word) b) => a -> URec Word b -> URec Word a Source #

CFunctor (URec (Ptr ()) :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (URec (Ptr ())) a, Dom (URec (Ptr ())) b) => (a -> b) -> URec (Ptr ()) a -> URec (Ptr ()) b Source #

(<$:) :: (Dom (URec (Ptr ())) a, Dom (URec (Ptr ())) b) => a -> URec (Ptr ()) b -> URec (Ptr ()) a Source #

Arrow a => CFunctor (WrappedArrow a b) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (WrappedArrow a b) a0, Dom (WrappedArrow a b) b0) => (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 Source #

(<$:) :: (Dom (WrappedArrow a b) a0, Dom (WrappedArrow a b) b0) => a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 Source #

CFunctor (Const m :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (Const m) a, Dom (Const m) b) => (a -> b) -> Const m a -> Const m b Source #

(<$:) :: (Dom (Const m) a, Dom (Const m) b) => a -> Const m b -> Const m a Source #

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

Defined in Control.Subcategory.Functor

Methods

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

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

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

Defined in Control.Subcategory.Functor

Methods

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

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

MonoFunctor a => CFunctor (WrapMono a :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

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 #

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

Defined in Control.Subcategory.Alternative

Methods

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

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

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

Defined in Control.Subcategory.Zip

Methods

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

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

CFunctor ((->) r :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

CFunctor (K1 i c :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (K1 i c) a, Dom (K1 i c) b) => (a -> b) -> K1 i c a -> K1 i c b Source #

(<$:) :: (Dom (K1 i c) a, Dom (K1 i c) b) => a -> K1 i c b -> K1 i c a Source #

(CFunctor f, CFunctor g) => CFunctor (f :+: g) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

(CFunctor f, CFunctor g) => CFunctor (f :*: g) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

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

Defined in Control.Subcategory.Functor

Methods

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

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

(CFunctor f, CFunctor g) => CFunctor (Sum f g) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

Functor f => CFunctor (M1 i c f) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

cmap :: (Dom (M1 i c f) a, Dom (M1 i c f) b) => (a -> b) -> M1 i c f a -> M1 i c f b Source #

(<$:) :: (Dom (M1 i c f) a, Dom (M1 i c f) b) => a -> M1 i c f b -> M1 i c f a Source #

(CFunctor f, CFunctor g) => CFunctor (f :.: g) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

(CFunctor f, CFunctor g) => CFunctor (Compose f g) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

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

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

newtype WrapFunctor f (a :: Type) Source #

Constructors

WrapFunctor 

Fields

Instances
Monad f => Monad (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

(>>=) :: WrapFunctor f a -> (a -> WrapFunctor f b) -> WrapFunctor f b #

(>>) :: WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f b #

return :: a -> WrapFunctor f a #

fail :: String -> WrapFunctor f a #

Functor f => Functor (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

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

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

MonadFix f => MonadFix (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

mfix :: (a -> WrapFunctor f a) -> WrapFunctor f a #

MonadFail f => MonadFail (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

fail :: String -> WrapFunctor f a #

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

Defined in Control.Subcategory.Wrapper.Internal

Methods

pure :: a -> WrapFunctor f a #

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

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

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

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

Foldable f => Foldable (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

fold :: Monoid m => WrapFunctor f m -> m #

foldMap :: Monoid m => (a -> m) -> WrapFunctor f a -> m #

foldr :: (a -> b -> b) -> b -> WrapFunctor f a -> b #

foldr' :: (a -> b -> b) -> b -> WrapFunctor f a -> b #

foldl :: (b -> a -> b) -> b -> WrapFunctor f a -> b #

foldl' :: (b -> a -> b) -> b -> WrapFunctor f a -> b #

foldr1 :: (a -> a -> a) -> WrapFunctor f a -> a #

foldl1 :: (a -> a -> a) -> WrapFunctor f a -> a #

toList :: WrapFunctor f a -> [a] #

null :: WrapFunctor f a -> Bool #

length :: WrapFunctor f a -> Int #

elem :: Eq a => a -> WrapFunctor f a -> Bool #

maximum :: Ord a => WrapFunctor f a -> a #

minimum :: Ord a => WrapFunctor f a -> a #

sum :: Num a => WrapFunctor f a -> a #

product :: Num a => WrapFunctor f a -> a #

Traversable f => Traversable (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

traverse :: Applicative f0 => (a -> f0 b) -> WrapFunctor f a -> f0 (WrapFunctor f b) #

sequenceA :: Applicative f0 => WrapFunctor f (f0 a) -> f0 (WrapFunctor f a) #

mapM :: Monad m => (a -> m b) -> WrapFunctor f a -> m (WrapFunctor f b) #

sequence :: Monad m => WrapFunctor f (m a) -> m (WrapFunctor f a) #

MonadZip f => MonadZip (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

mzip :: WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f (a, b) #

mzipWith :: (a -> b -> c) -> WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f c #

munzip :: WrapFunctor f (a, b) -> (WrapFunctor f a, WrapFunctor f b) #

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

Defined in Control.Subcategory.Wrapper.Internal

Methods

empty :: WrapFunctor f a #

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

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

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

MonadPlus f => MonadPlus (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

mzero :: WrapFunctor f a #

mplus :: WrapFunctor f a -> WrapFunctor f a -> WrapFunctor f a #

Pointed f => Pointed (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

point :: a -> WrapFunctor f a #

Semialign f => Semialign (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

align :: WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f (These a b) #

alignWith :: (These a b -> c) -> WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f c #

Align f => Align (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

nil :: WrapFunctor f a #

Unalign f => Unalign (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

unalign :: WrapFunctor f (These a b) -> (WrapFunctor f a, WrapFunctor f b) #

unalignWith :: (c -> These a b) -> WrapFunctor f c -> (WrapFunctor f a, WrapFunctor f b) #

Zip f => Zip (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

zip :: WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f (a, b) #

zipWith :: (a -> b -> c) -> WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f c #

Unzip f => Unzip (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

unzipWith :: (c -> (a, b)) -> WrapFunctor f c -> (WrapFunctor f a, WrapFunctor f b) #

unzip :: WrapFunctor f (a, b) -> (WrapFunctor f a, WrapFunctor f b) #

Functor f => CFunctor (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

Constrained (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

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

Align f => CAlign (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Semialign

Methods

cnil :: Dom (WrapFunctor f) a => WrapFunctor f a Source #

Semialign f => CSemialign (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Semialign

Methods

calignWith :: (Dom (WrapFunctor f) a, Dom (WrapFunctor f) b, Dom (WrapFunctor f) c) => (These a b -> c) -> WrapFunctor f a -> WrapFunctor f b -> WrapFunctor f c Source #

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

(Functor f, Pointed f) => CPointed (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Pointed

Methods

cpure :: Dom (WrapFunctor f) a => a -> WrapFunctor f a Source #

Monad m => CBind (WrapFunctor m) Source # 
Instance details

Defined in Control.Subcategory.Bind

Methods

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

cjoin :: (Dom (WrapFunctor m) (WrapFunctor m a), Dom (WrapFunctor m) a) => WrapFunctor m (WrapFunctor m a) -> WrapFunctor m 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 #

Unzip f => CUnzip (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Zip

Methods

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

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

Repeat f => CRepeat (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Zip

Methods

crepeat :: Dom (WrapFunctor f) a => a -> WrapFunctor f a Source #

Zip f => CZip (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Zip

Methods

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

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

Traversable f => CTraversable (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Foldable

Methods

ctraverse :: (Dom (WrapFunctor f) a, Dom (WrapFunctor f) b, Applicative g) => (a -> g b) -> WrapFunctor f a -> g (WrapFunctor f b) Source #

Foldable f => CFoldable (WrapFunctor f) Source # 
Instance details

Defined in Control.Subcategory.Foldable

Methods

cfoldMap :: (Dom (WrapFunctor f) a, Monoid w) => (a -> w) -> WrapFunctor f a -> w Source #

cfoldMap' :: (Dom (WrapFunctor f) a, Monoid m) => (a -> m) -> WrapFunctor f a -> m Source #

cfold :: (Dom (WrapFunctor f) w, Monoid w) => WrapFunctor f w -> w Source #

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

cfoldlM :: (Monad m, Dom (WrapFunctor f) b) => (a -> b -> m a) -> a -> WrapFunctor f b -> m a Source #

cfoldlM' :: (Monad m, Dom (WrapFunctor f) b) => (a -> b -> m a) -> a -> WrapFunctor f b -> m a Source #

cfoldrM :: (Monad m, Dom (WrapFunctor f) a) => (a -> b -> m b) -> b -> WrapFunctor f a -> m b Source #

cfoldrM' :: (Monad m, Dom (WrapFunctor f) a) => (a -> b -> m b) -> b -> WrapFunctor f a -> m b Source #

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

cfoldr' :: Dom (WrapFunctor f) a => (a -> b -> b) -> b -> WrapFunctor f a -> b Source #

cfoldl' :: Dom (WrapFunctor f) a => (b -> a -> b) -> b -> WrapFunctor f a -> b Source #

cbasicToList :: Dom (WrapFunctor f) a => WrapFunctor f a -> [a] Source #

cfoldr1 :: Dom (WrapFunctor f) a => (a -> a -> a) -> WrapFunctor f a -> a Source #

cfoldl1 :: Dom (WrapFunctor f) a => (a -> a -> a) -> WrapFunctor f a -> a Source #

cindex :: Dom (WrapFunctor f) a => WrapFunctor f a -> Int -> a Source #

cnull :: Dom (WrapFunctor f) a => WrapFunctor f a -> Bool Source #

clength :: Dom (WrapFunctor f) a => WrapFunctor f a -> Int Source #

cany :: Dom (WrapFunctor f) a => (a -> Bool) -> WrapFunctor f a -> Bool Source #

call :: Dom (WrapFunctor f) a => (a -> Bool) -> WrapFunctor f a -> Bool Source #

celem :: (Eq a, Dom (WrapFunctor f) a) => a -> WrapFunctor f a -> Bool Source #

cnotElem :: (Eq a, Dom (WrapFunctor f) a) => a -> WrapFunctor f a -> Bool Source #

cminimum :: (Ord a, Dom (WrapFunctor f) a) => WrapFunctor f a -> a Source #

cmaximum :: (Ord a, Dom (WrapFunctor f) a) => WrapFunctor f a -> a Source #

csum :: (Num a, Dom (WrapFunctor f) a) => WrapFunctor f a -> a Source #

cproduct :: (Num a, Dom (WrapFunctor f) a) => WrapFunctor f a -> a Source #

cctraverse_ :: (CApplicative g, CPointed g, Dom g (), Dom (WrapFunctor f) a, Dom g b) => (a -> g b) -> WrapFunctor f a -> g () Source #

ctraverse_ :: (Applicative g, Dom (WrapFunctor f) a) => (a -> g b) -> WrapFunctor f a -> g () Source #

clast :: Dom (WrapFunctor f) a => WrapFunctor f a -> a Source #

chead :: Dom (WrapFunctor f) a => WrapFunctor f a -> a Source #

cfind :: Dom (WrapFunctor f) a => (a -> Bool) -> WrapFunctor f a -> Maybe a Source #

cfindIndex :: Dom (WrapFunctor f) a => (a -> Bool) -> WrapFunctor f a -> Maybe Int Source #

cfindIndices :: Dom (WrapFunctor f) a => (a -> Bool) -> WrapFunctor f a -> [Int] Source #

celemIndex :: (Dom (WrapFunctor f) a, Eq a) => a -> WrapFunctor f a -> Maybe Int Source #

celemIndices :: (Dom (WrapFunctor f) a, Eq a) => a -> WrapFunctor f a -> [Int] Source #

type Dom (WrapFunctor f) a Source # 
Instance details

Defined in Control.Subcategory.Functor

type Dom (WrapFunctor f) a = ()

data WrapMono mono b where Source #

Similar to WrappedMono from mono-traversable, but uses newtype instaed of GADTs, which is efficient. To restrict the construction, we hide genuine constructor and expose the constrained pattern synonym WrapMono and specifies type roles tightly (note: the role for mono should NOT be representational honestly; indeed, WrapMono mono a could be coerced to WrapMono mono' a iff mono and mono' are representationally equivalent AND Element a ~ Element a.)

Bundled Patterns

pattern WrapMono :: b ~ Element mono => b ~ Element mono => mono -> WrapMono mono b 
Instances
MonoFunctor a => CFunctor (WrapMono a :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Methods

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

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

Constrained (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Functor

Associated Types

type Dom (WrapMono mono) a :: Constraint Source #

(IsSequence mono, MonoZip mono) => CAlign (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Semialign

Methods

cnil :: Dom (WrapMono mono) a => WrapMono mono a Source #

(IsSequence mono, MonoZip mono) => CSemialign (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Semialign

Methods

calignWith :: (Dom (WrapMono mono) a, Dom (WrapMono mono) b, Dom (WrapMono mono) c) => (These a b -> c) -> WrapMono mono a -> WrapMono mono b -> WrapMono mono c Source #

calign :: (Dom (WrapMono mono) a, Dom (WrapMono mono) b, Dom (WrapMono mono) (These a b)) => WrapMono mono a -> WrapMono mono b -> WrapMono mono (These a b) Source #

CSemialign (WrapMono IntSet :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Semialign

MonoPointed mono => CPointed (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Pointed

Methods

cpure :: Dom (WrapMono mono) a => a -> WrapMono mono a Source #

CPointed (WrapMono IntSet :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Pointed

Methods

cpure :: Dom (WrapMono IntSet) a => a -> WrapMono IntSet a Source #

CBind (WrapMono IntSet :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Bind

(MonoFunctor mono, Monoid mono, GrowingAppend mono) => CAlternative (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Alternative

Methods

cempty :: Dom (WrapMono mono) a => WrapMono mono a Source #

(MonoFunctor mono, GrowingAppend mono, Semigroup mono) => CChoice (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Alternative

Methods

(<!>) :: Dom (WrapMono mono) a => WrapMono mono a -> WrapMono mono a -> WrapMono mono a Source #

(IsSequence mono, MonoZip mono) => CUnzip (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Zip

Methods

cunzip :: (Dom (WrapMono mono) (a, b), Dom (WrapMono mono) a, Dom (WrapMono mono) b) => WrapMono mono (a, b) -> (WrapMono mono a, WrapMono mono b) Source #

cunzipWith :: (Dom (WrapMono mono) c, Dom (WrapMono mono) a, Dom (WrapMono mono) b) => (c -> (a, b)) -> WrapMono mono c -> (WrapMono mono a, WrapMono mono b) Source #

(IsSequence mono, MonoZip mono) => CZip (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Zip

Methods

czipWith :: (Dom (WrapMono mono) a, Dom (WrapMono mono) b, Dom (WrapMono mono) c) => (a -> b -> c) -> WrapMono mono a -> WrapMono mono b -> WrapMono mono c Source #

czip :: (Dom (WrapMono mono) a, Dom (WrapMono mono) b, Dom (WrapMono mono) (a, b)) => WrapMono mono a -> WrapMono mono b -> WrapMono mono (a, b) Source #

IsSequence mono => CFreeMonoid (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Foldable

Methods

cbasicFromList :: Dom (WrapMono mono) a => [a] -> WrapMono mono a Source #

ccons :: Dom (WrapMono mono) a => a -> WrapMono mono a -> WrapMono mono a Source #

csnoc :: Dom (WrapMono mono) a => WrapMono mono a -> a -> WrapMono mono a Source #

cfromListN :: Dom (WrapMono mono) a => Int -> [a] -> WrapMono mono a Source #

ctake :: Dom (WrapMono mono) a => Int -> WrapMono mono a -> WrapMono mono a Source #

cdrop :: Dom (WrapMono mono) a => Int -> WrapMono mono a -> WrapMono mono a Source #

cinit :: Dom (WrapMono mono) a => WrapMono mono a -> WrapMono mono a Source #

ctail :: Dom (WrapMono mono) a => WrapMono mono a -> WrapMono mono a Source #

csplitAt :: Dom (WrapMono mono) a => Int -> WrapMono mono a -> (WrapMono mono a, WrapMono mono a) Source #

creplicate :: Dom (WrapMono mono) a => Int -> a -> WrapMono mono a Source #

cgenerate :: Dom (WrapMono mono) a => Int -> (Int -> a) -> WrapMono mono a Source #

cgenerateM :: (Dom (WrapMono mono) a, Monad m) => Int -> (Int -> m a) -> m (WrapMono mono a) Source #

cgenerateA :: (Dom (WrapMono mono) a, Applicative g) => Int -> (Int -> g a) -> g (WrapMono mono a) Source #

cuncons :: Dom (WrapMono mono) a => WrapMono mono a -> Maybe (a, WrapMono mono a) Source #

cunsnoc :: Dom (WrapMono mono) a => WrapMono mono a -> Maybe (WrapMono mono a, a) Source #

creverse :: Dom (WrapMono mono) a => WrapMono mono a -> WrapMono mono a Source #

cintersperse :: Dom (WrapMono mono) a => a -> WrapMono mono a -> WrapMono mono a Source #

cnub :: (Dom (WrapMono mono) a, Eq a) => WrapMono mono a -> WrapMono mono a Source #

cnubOrd :: (Dom (WrapMono mono) a, Ord a) => WrapMono mono a -> WrapMono mono a Source #

csort :: (Dom (WrapMono mono) a, Ord a) => WrapMono mono a -> WrapMono mono a Source #

csortBy :: Dom (WrapMono mono) a => (a -> a -> Ordering) -> WrapMono mono a -> WrapMono mono a Source #

cinsert :: (Dom (WrapMono mono) a, Ord a) => a -> WrapMono mono a -> WrapMono mono a Source #

cinsertBy :: Dom (WrapMono mono) a => (a -> a -> Ordering) -> a -> WrapMono mono a -> WrapMono mono a Source #

ctakeWhile :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> WrapMono mono a Source #

cdropWhile :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> WrapMono mono a Source #

cspan :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> (WrapMono mono a, WrapMono mono a) Source #

cbreak :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> (WrapMono mono a, WrapMono mono a) Source #

cfilter :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> WrapMono mono a Source #

cpartition :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> (WrapMono mono a, WrapMono mono a) Source #

MonoTraversable mono => CTraversable (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Foldable

Methods

ctraverse :: (Dom (WrapMono mono) a, Dom (WrapMono mono) b, Applicative g) => (a -> g b) -> WrapMono mono a -> g (WrapMono mono b) Source #

MonoFoldable mono => CFoldable (WrapMono mono :: Type -> Type) Source # 
Instance details

Defined in Control.Subcategory.Foldable

Methods

cfoldMap :: (Dom (WrapMono mono) a, Monoid w) => (a -> w) -> WrapMono mono a -> w Source #

cfoldMap' :: (Dom (WrapMono mono) a, Monoid m) => (a -> m) -> WrapMono mono a -> m Source #

cfold :: (Dom (WrapMono mono) w, Monoid w) => WrapMono mono w -> w Source #

cfoldr :: Dom (WrapMono mono) a => (a -> b -> b) -> b -> WrapMono mono a -> b Source #

cfoldlM :: (Monad m, Dom (WrapMono mono) b) => (a -> b -> m a) -> a -> WrapMono mono b -> m a Source #

cfoldlM' :: (Monad m, Dom (WrapMono mono) b) => (a -> b -> m a) -> a -> WrapMono mono b -> m a Source #

cfoldrM :: (Monad m, Dom (WrapMono mono) a) => (a -> b -> m b) -> b -> WrapMono mono a -> m b Source #

cfoldrM' :: (Monad m, Dom (WrapMono mono) a) => (a -> b -> m b) -> b -> WrapMono mono a -> m b Source #

cfoldl :: Dom (WrapMono mono) a => (b -> a -> b) -> b -> WrapMono mono a -> b Source #

cfoldr' :: Dom (WrapMono mono) a => (a -> b -> b) -> b -> WrapMono mono a -> b Source #

cfoldl' :: Dom (WrapMono mono) a => (b -> a -> b) -> b -> WrapMono mono a -> b Source #

cbasicToList :: Dom (WrapMono mono) a => WrapMono mono a -> [a] Source #

cfoldr1 :: Dom (WrapMono mono) a => (a -> a -> a) -> WrapMono mono a -> a Source #

cfoldl1 :: Dom (WrapMono mono) a => (a -> a -> a) -> WrapMono mono a -> a Source #

cindex :: Dom (WrapMono mono) a => WrapMono mono a -> Int -> a Source #

cnull :: Dom (WrapMono mono) a => WrapMono mono a -> Bool Source #

clength :: Dom (WrapMono mono) a => WrapMono mono a -> Int Source #

cany :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> Bool Source #

call :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> Bool Source #

celem :: (Eq a, Dom (WrapMono mono) a) => a -> WrapMono mono a -> Bool Source #

cnotElem :: (Eq a, Dom (WrapMono mono) a) => a -> WrapMono mono a -> Bool Source #

cminimum :: (Ord a, Dom (WrapMono mono) a) => WrapMono mono a -> a Source #

cmaximum :: (Ord a, Dom (WrapMono mono) a) => WrapMono mono a -> a Source #

csum :: (Num a, Dom (WrapMono mono) a) => WrapMono mono a -> a Source #

cproduct :: (Num a, Dom (WrapMono mono) a) => WrapMono mono a -> a Source #

cctraverse_ :: (CApplicative g, CPointed g, Dom g (), Dom (WrapMono mono) a, Dom g b) => (a -> g b) -> WrapMono mono a -> g () Source #

ctraverse_ :: (Applicative g, Dom (WrapMono mono) a) => (a -> g b) -> WrapMono mono a -> g () Source #

clast :: Dom (WrapMono mono) a => WrapMono mono a -> a Source #

chead :: Dom (WrapMono mono) a => WrapMono mono a -> a Source #

cfind :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> Maybe a Source #

cfindIndex :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> Maybe Int Source #

cfindIndices :: Dom (WrapMono mono) a => (a -> Bool) -> WrapMono mono a -> [Int] Source #

celemIndex :: (Dom (WrapMono mono) a, Eq a) => a -> WrapMono mono a -> Maybe Int Source #

celemIndices :: (Dom (WrapMono mono) a, Eq a) => a -> WrapMono mono a -> [Int] Source #

Semigroup mono => Semigroup (WrapMono mono b) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

(<>) :: WrapMono mono b -> WrapMono mono b -> WrapMono mono b #

sconcat :: NonEmpty (WrapMono mono b) -> WrapMono mono b #

stimes :: Integral b0 => b0 -> WrapMono mono b -> WrapMono mono b #

Monoid mono => Monoid (WrapMono mono b) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

mempty :: WrapMono mono b #

mappend :: WrapMono mono b -> WrapMono mono b -> WrapMono mono b #

mconcat :: [WrapMono mono b] -> WrapMono mono b #

MonoFunctor mono => MonoFunctor (WrapMono mono b) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

omap :: (Element (WrapMono mono b) -> Element (WrapMono mono b)) -> WrapMono mono b -> WrapMono mono b #

MonoFoldable mono => MonoFoldable (WrapMono mono b) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

ofoldMap :: Monoid m => (Element (WrapMono mono b) -> m) -> WrapMono mono b -> m #

ofoldr :: (Element (WrapMono mono b) -> b0 -> b0) -> b0 -> WrapMono mono b -> b0 #

ofoldl' :: (a -> Element (WrapMono mono b) -> a) -> a -> WrapMono mono b -> a #

otoList :: WrapMono mono b -> [Element (WrapMono mono b)] #

oall :: (Element (WrapMono mono b) -> Bool) -> WrapMono mono b -> Bool #

oany :: (Element (WrapMono mono b) -> Bool) -> WrapMono mono b -> Bool #

onull :: WrapMono mono b -> Bool #

olength :: WrapMono mono b -> Int #

olength64 :: WrapMono mono b -> Int64 #

ocompareLength :: Integral i => WrapMono mono b -> i -> Ordering #

otraverse_ :: Applicative f => (Element (WrapMono mono b) -> f b0) -> WrapMono mono b -> f () #

ofor_ :: Applicative f => WrapMono mono b -> (Element (WrapMono mono b) -> f b0) -> f () #

omapM_ :: Applicative m => (Element (WrapMono mono b) -> m ()) -> WrapMono mono b -> m () #

oforM_ :: Applicative m => WrapMono mono b -> (Element (WrapMono mono b) -> m ()) -> m () #

ofoldlM :: Monad m => (a -> Element (WrapMono mono b) -> m a) -> a -> WrapMono mono b -> m a #

ofoldMap1Ex :: Semigroup m => (Element (WrapMono mono b) -> m) -> WrapMono mono b -> m #

ofoldr1Ex :: (Element (WrapMono mono b) -> Element (WrapMono mono b) -> Element (WrapMono mono b)) -> WrapMono mono b -> Element (WrapMono mono b) #

ofoldl1Ex' :: (Element (WrapMono mono b) -> Element (WrapMono mono b) -> Element (WrapMono mono b)) -> WrapMono mono b -> Element (WrapMono mono b) #

headEx :: WrapMono mono b -> Element (WrapMono mono b) #

lastEx :: WrapMono mono b -> Element (WrapMono mono b) #

unsafeHead :: WrapMono mono b -> Element (WrapMono mono b) #

unsafeLast :: WrapMono mono b -> Element (WrapMono mono b) #

maximumByEx :: (Element (WrapMono mono b) -> Element (WrapMono mono b) -> Ordering) -> WrapMono mono b -> Element (WrapMono mono b) #

minimumByEx :: (Element (WrapMono mono b) -> Element (WrapMono mono b) -> Ordering) -> WrapMono mono b -> Element (WrapMono mono b) #

oelem :: Element (WrapMono mono b) -> WrapMono mono b -> Bool #

onotElem :: Element (WrapMono mono b) -> WrapMono mono b -> Bool #

MonoPointed mono => MonoPointed (WrapMono mono b) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

Methods

opoint :: Element (WrapMono mono b) -> WrapMono mono b #

MonoFoldable mono => GrowingAppend (WrapMono mono b) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

type Dom (WrapMono mono :: Type -> Type) b Source # 
Instance details

Defined in Control.Subcategory.Functor

type Dom (WrapMono mono :: Type -> Type) b = b ~ Element mono
type Element (WrapMono mono b) Source # 
Instance details

Defined in Control.Subcategory.Wrapper.Internal

type Element (WrapMono mono b) = Element mono

coerceToMono :: WrapMono mono (Element mono) -> mono Source #

withMonoCoercible :: (Coercible (WrapMono mono (Element mono)) mono => r) -> r Source #

Orphan instances

MonoFunctor IntSet Source # 
Instance details