Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
Documentation
class (Category s, Category t) => Functor (s :: α -> α -> *) (t :: β -> β -> *) (f :: α -> β) where Source #
Instances
Functor s t f => Functor (Iso s :: α -> α -> Type) (t :: β -> β -> Type) (f :: α -> β) Source # | |
Defined in Data.Morphism.Iso | |
Functor s t f => Functor (Iso s :: α -> α -> Type) (Dual t :: β -> β -> Type) (f :: α -> β) Source # | |
Functor s t f => Functor (Dual s :: α -> α -> Type) (Dual t :: β -> β -> Type) (f :: α -> β) Source # | |
Monad s m => Functor (Kleisli s m :: β -> β -> Type) (s :: β -> β -> Type) (m :: β -> β) Source # | |
Defined in Control.Categorical.Monad | |
Comonad s ɯ => Functor (Cokleisli s ɯ :: β -> β -> Type) (s :: β -> β -> Type) (ɯ :: β -> β) Source # | |
Defined in Control.Categorical.Monad | |
Category s => Functor (s :: α -> α -> Type) ((->) :: Type -> Type -> Type) (s a :: α -> Type) Source # | |
Defined in Control.Categorical.Functor | |
Category s => Functor (s :: α -> α -> Type) ((->) :: Type -> Type -> Type) (Proxy :: α -> Type) Source # | |
Functor s ((->) :: Type -> Type -> Type) f => Functor (s :: k -> k -> Type) ((->) :: Type -> Type -> Type) (IdentityT f :: k -> Type) Source # | |
Category s => Functor (s :: α -> α -> Type) ((->) :: Type -> Type -> Type) (Const a :: α -> Type) Source # | |
(Functor s ((->) :: Type -> Type -> Type) f, Functor s ((->) :: Type -> Type -> Type) g) => Functor (s :: k -> k -> Type) ((->) :: Type -> Type -> Type) (Product f g :: k -> Type) Source # | |
(Functor s ((->) :: Type -> Type -> Type) f, Functor s ((->) :: Type -> Type -> Type) g) => Functor (s :: k -> k -> Type) ((->) :: Type -> Type -> Type) (Sum f g :: k -> Type) Source # | |
Functor s t m => Functor (s :: k2 -> k2 -> Type) ((->) :: Type -> Type -> Type) (Kleisli t m a :: k2 -> Type) Source # | |
Category s => Functor (s :: k2 -> k2 -> Type) ((->) :: Type -> Type -> Type) (Cokleisli s ɯ a :: k2 -> Type) Source # | |
(Functor ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) f, Functor s ((->) :: Type -> Type -> Type) (p w)) => Functor (s :: k2 -> k2 -> Type) ((->) :: Type -> Type -> Type) (WriterT p w f :: k2 -> Type) Source # | |
(Functor t ((->) :: Type -> Type -> Type) f, Functor ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (s r)) => Functor (t :: k2 -> k2 -> Type) ((->) :: Type -> Type -> Type) (ReaderT s r f :: k2 -> Type) Source # | |
Functor s t f => Functor (s :: k2 -> k2 -> Type) ((->) :: Type -> Type -> Type) (ReaderT t r f :: k2 -> Type) Source # | |
(Functor s (Kleisli ((->) :: Type -> Type -> Type) m) f, Endofunctor ((->) :: Type -> Type -> Type) m) => Functor (s :: k -> k -> Type) (Kleisli ((->) :: Type -> Type -> Type) m :: Type -> Type -> Type) (IdentityT f :: k -> Type) Source # | |
(Functor s (Cokleisli ((->) :: Type -> Type -> Type) ɯ) f, Endofunctor ((->) :: Type -> Type -> Type) ɯ) => Functor (s :: k -> k -> Type) (Cokleisli ((->) :: Type -> Type -> Type) ɯ :: Type -> Type -> Type) (IdentityT f :: k -> Type) Source # | |
(Category s, Category t, Functor s (NT (Dual t) :: (k1 -> k2) -> (k1 -> k2) -> Type) f) => Functor (s :: α -> α -> Type) (Dual (NT t :: (k1 -> k2) -> (k1 -> k2) -> Type) :: (k1 -> k2) -> (k1 -> k2) -> Type) (f :: α -> k1 -> k2) Source # | |
Functor t (NT ((->) :: Type -> Type -> Type) :: (k2 -> Type) -> (k2 -> Type) -> Type) s => Functor (t :: k3 -> k3 -> Type) (NT (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) :: ((k1 -> k2) -> k1 -> Type) -> ((k1 -> k2) -> k1 -> Type) -> Type) (ReaderT s :: k3 -> (k1 -> k2) -> k1 -> Type) Source # | |
(Category t, Functor s (NT t :: (k1 -> k2) -> (k1 -> k2) -> Type) f) => Functor (Dual s :: α -> α -> Type) (NT (Dual t) :: (k1 -> k2) -> (k1 -> k2) -> Type) (f :: α -> k1 -> k2) Source # | |
Category s => Functor (Dual s :: k -> k -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (s :: k -> k -> Type) Source # | |
Category s => Functor (Dual s :: k2 -> k2 -> Type) (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (Kleisli s m :: k2 -> k1 -> Type) Source # | |
Functor s t ɯ => Functor (Dual s :: k2 -> k2 -> Type) (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (Cokleisli t ɯ :: k2 -> k1 -> Type) Source # | |
Functor f => Functor ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (f :: Type -> Type) Source # | |
Defined in Control.Categorical.Functor | |
Functor ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Identity Source # | |
Functor ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Either a :: Type -> Type) Source # | |
Functor ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((,) a :: Type -> Type) Source # | |
Defined in Control.Categorical.Functor | |
(Traversable f, Monad ((->) :: Type -> Type -> Type) m) => Functor (Kleisli ((->) :: Type -> Type -> Type) m :: Type -> Type -> Type) (Kleisli ((->) :: Type -> Type -> Type) m :: Type -> Type -> Type) (f :: Type -> Type) Source # | |
Monad ((->) :: Type -> Type -> Type) m => Functor (Kleisli ((->) :: Type -> Type -> Type) m :: Type -> Type -> Type) (Kleisli ((->) :: Type -> Type -> Type) m :: Type -> Type -> Type) ((,) a :: Type -> Type) Source # | |
Functor ((->) :: Type -> Type -> Type) (NT ((->) :: Type -> Type -> Type) :: (Type -> Type) -> (Type -> Type) -> Type) Either Source # | |
Functor ((->) :: Type -> Type -> Type) (NT ((->) :: Type -> Type -> Type) :: (Type -> Type) -> (Type -> Type) -> Type) (,) Source # | |
Functor ((->) :: Type -> Type -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (Const :: Type -> k -> Type) Source # | |
Functor ((->) :: Type -> Type -> Type) (NT (NT ((->) :: Type -> Type -> Type) :: (k2 -> Type) -> (k2 -> Type) -> Type) :: (k1 -> k2 -> Type) -> (k1 -> k2 -> Type) -> Type) (Const2 :: Type -> k1 -> k2 -> Type) Source # | |
Monad ((->) :: Type -> Type -> Type) m => Functor (Kleisli ((->) :: Type -> Type -> Type) m :: Type -> Type -> Type) (NT (Kleisli ((->) :: Type -> Type -> Type) m) :: (Type -> Type) -> (Type -> Type) -> Type) (,) Source # | |
Monad ((->) :: Type -> Type -> Type) m => Functor (Kleisli ((->) :: Type -> Type -> Type) m :: Type -> Type -> Type) (NT (NT (Kleisli ((->) :: Type -> Type -> Type) m) :: (k2 -> Type) -> (k2 -> Type) -> Type) :: (k1 -> k2 -> Type) -> (k1 -> k2 -> Type) -> Type) (Const2 :: Type -> k1 -> k2 -> Type) Source # | |
(Category s, Category t, Functor (NT s :: (k1 -> k4) -> (k1 -> k4) -> Type) (NT t :: (k2 -> k3) -> (k2 -> k3) -> Type) f) => Functor (NT (Dual s) :: (k1 -> k4) -> (k1 -> k4) -> Type) (NT (Dual t) :: (k2 -> k3) -> (k2 -> k3) -> Type) (f :: (k1 -> k4) -> k2 -> k3) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (NT (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) :: ((k -> Type) -> k -> Type) -> ((k -> Type) -> k -> Type) -> Type) (Product :: (k -> Type) -> (k -> Type) -> k -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (NT (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) :: ((k -> Type) -> k -> Type) -> ((k -> Type) -> k -> Type) -> Type) (Sum :: (k -> Type) -> (k -> Type) -> k -> Type) Source # | |
Monad (Dual ((->) :: Type -> Type -> Type)) m => Functor (NT (Kleisli (Dual ((->) :: Type -> Type -> Type)) m) :: (k -> Type) -> (k -> Type) -> Type) (NT (Kleisli (Dual ((->) :: Type -> Type -> Type)) m) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Monad ((->) :: Type -> Type -> Type) m => Functor (NT (Kleisli ((->) :: Type -> Type -> Type) m) :: (k -> Type) -> (k -> Type) -> Type) (NT (Kleisli ((->) :: Type -> Type -> Type) m) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Comonad ((->) :: Type -> Type -> Type) ɯ => Functor (NT (Cokleisli ((->) :: Type -> Type -> Type) ɯ) :: (k -> Type) -> (k -> Type) -> Type) (NT (Cokleisli ((->) :: Type -> Type -> Type) ɯ) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (Product f :: (k -> Type) -> k -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (Sum f :: (k -> Type) -> k -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (NT (NT ((->) :: Type -> Type -> Type) :: (k2 -> Type) -> (k2 -> Type) -> Type) :: ((k2 -> k1) -> k2 -> Type) -> ((k2 -> k1) -> k2 -> Type) -> Type) (Compose :: (k1 -> Type) -> (k2 -> k1) -> k2 -> Type) Source # | |
Functor s ((->) :: Type -> Type -> Type) f => Functor (NT s :: (k1 -> k2) -> (k1 -> k2) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (Compose f :: (k1 -> k2) -> k1 -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k3 -> Type) -> (k3 -> Type) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k2 -> Type) -> (k2 -> Type) -> Type) (WriterT p w :: (k3 -> Type) -> k2 -> Type) Source # | |
Functor t ((->) :: Type -> Type -> Type) (s r) => Functor (NT t :: (k1 -> k3) -> (k1 -> k3) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (ReaderT s r :: (k1 -> k3) -> k1 -> Type) Source # | |
type EndoFunctor s = Functor s s Source #
Deprecated: Use Endofunctor
type Endofunctor s = Functor s s Source #
Instances
(Category s, Category t, Functor s (NT (Dual t) :: (k1 -> k2) -> (k1 -> k2) -> Type) f) => Functor (s :: α -> α -> Type) (Dual (NT t :: (k1 -> k2) -> (k1 -> k2) -> Type) :: (k1 -> k2) -> (k1 -> k2) -> Type) (f :: α -> k1 -> k2) Source # | |
Functor t (NT ((->) :: Type -> Type -> Type) :: (k2 -> Type) -> (k2 -> Type) -> Type) s => Functor (t :: k3 -> k3 -> Type) (NT (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) :: ((k1 -> k2) -> k1 -> Type) -> ((k1 -> k2) -> k1 -> Type) -> Type) (ReaderT s :: k3 -> (k1 -> k2) -> k1 -> Type) Source # | |
(Category t, Functor s (NT t :: (k1 -> k2) -> (k1 -> k2) -> Type) f) => Functor (Dual s :: α -> α -> Type) (NT (Dual t) :: (k1 -> k2) -> (k1 -> k2) -> Type) (f :: α -> k1 -> k2) Source # | |
Category s => Functor (Dual s :: k -> k -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (s :: k -> k -> Type) Source # | |
Category s => Functor (Dual s :: k2 -> k2 -> Type) (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (Kleisli s m :: k2 -> k1 -> Type) Source # | |
Functor s t ɯ => Functor (Dual s :: k2 -> k2 -> Type) (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (Cokleisli t ɯ :: k2 -> k1 -> Type) Source # | |
Functor ((->) :: Type -> Type -> Type) (NT ((->) :: Type -> Type -> Type) :: (Type -> Type) -> (Type -> Type) -> Type) Either Source # | |
Functor ((->) :: Type -> Type -> Type) (NT ((->) :: Type -> Type -> Type) :: (Type -> Type) -> (Type -> Type) -> Type) (,) Source # | |
Functor ((->) :: Type -> Type -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (Const :: Type -> k -> Type) Source # | |
Functor ((->) :: Type -> Type -> Type) (NT (NT ((->) :: Type -> Type -> Type) :: (k2 -> Type) -> (k2 -> Type) -> Type) :: (k1 -> k2 -> Type) -> (k1 -> k2 -> Type) -> Type) (Const2 :: Type -> k1 -> k2 -> Type) Source # | |
Monad ((->) :: Type -> Type -> Type) m => Functor (Kleisli ((->) :: Type -> Type -> Type) m :: Type -> Type -> Type) (NT (Kleisli ((->) :: Type -> Type -> Type) m) :: (Type -> Type) -> (Type -> Type) -> Type) (,) Source # | |
Monad ((->) :: Type -> Type -> Type) m => Functor (Kleisli ((->) :: Type -> Type -> Type) m :: Type -> Type -> Type) (NT (NT (Kleisli ((->) :: Type -> Type -> Type) m) :: (k2 -> Type) -> (k2 -> Type) -> Type) :: (k1 -> k2 -> Type) -> (k1 -> k2 -> Type) -> Type) (Const2 :: Type -> k1 -> k2 -> Type) Source # | |
(Category s, Category t, Functor (NT s :: (k1 -> k4) -> (k1 -> k4) -> Type) (NT t :: (k2 -> k3) -> (k2 -> k3) -> Type) f) => Functor (NT (Dual s) :: (k1 -> k4) -> (k1 -> k4) -> Type) (NT (Dual t) :: (k2 -> k3) -> (k2 -> k3) -> Type) (f :: (k1 -> k4) -> k2 -> k3) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (NT (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) :: ((k -> Type) -> k -> Type) -> ((k -> Type) -> k -> Type) -> Type) (Product :: (k -> Type) -> (k -> Type) -> k -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (NT (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) :: ((k -> Type) -> k -> Type) -> ((k -> Type) -> k -> Type) -> Type) (Sum :: (k -> Type) -> (k -> Type) -> k -> Type) Source # | |
Monad (Dual ((->) :: Type -> Type -> Type)) m => Functor (NT (Kleisli (Dual ((->) :: Type -> Type -> Type)) m) :: (k -> Type) -> (k -> Type) -> Type) (NT (Kleisli (Dual ((->) :: Type -> Type -> Type)) m) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Monad ((->) :: Type -> Type -> Type) m => Functor (NT (Kleisli ((->) :: Type -> Type -> Type) m) :: (k -> Type) -> (k -> Type) -> Type) (NT (Kleisli ((->) :: Type -> Type -> Type) m) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Comonad ((->) :: Type -> Type -> Type) ɯ => Functor (NT (Cokleisli ((->) :: Type -> Type -> Type) ɯ) :: (k -> Type) -> (k -> Type) -> Type) (NT (Cokleisli ((->) :: Type -> Type -> Type) ɯ) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (Product f :: (k -> Type) -> k -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (Sum f :: (k -> Type) -> k -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (NT (NT ((->) :: Type -> Type -> Type) :: (k2 -> Type) -> (k2 -> Type) -> Type) :: ((k2 -> k1) -> k2 -> Type) -> ((k2 -> k1) -> k2 -> Type) -> Type) (Compose :: (k1 -> Type) -> (k2 -> k1) -> k2 -> Type) Source # | |
Functor s ((->) :: Type -> Type -> Type) f => Functor (NT s :: (k1 -> k2) -> (k1 -> k2) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (Compose f :: (k1 -> k2) -> k1 -> Type) Source # | |
Functor (NT ((->) :: Type -> Type -> Type) :: (k3 -> Type) -> (k3 -> Type) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k2 -> Type) -> (k2 -> Type) -> Type) (WriterT p w :: (k3 -> Type) -> k2 -> Type) Source # | |
Functor t ((->) :: Type -> Type -> Type) (s r) => Functor (NT t :: (k1 -> k3) -> (k1 -> k3) -> Type) (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (ReaderT s r :: (k1 -> k3) -> k1 -> Type) Source # | |
Category s => Category (NT s :: (k1 -> k2) -> (k1 -> k2) -> Type) Source # | |
Groupoid s => Groupoid (NT s :: (k1 -> k2) -> (k1 -> k2) -> Type) Source # | |
(Category s, Comonad (NT s :: (k1 -> k2) -> (k1 -> k2) -> Type) f) => Monad (NT (Dual s) :: (k1 -> k2) -> (k1 -> k2) -> Type) (f :: (k1 -> k2) -> k1 -> k2) Source # | |
Monad ((->) :: Type -> Type -> Type) m => Comonad (NT (Kleisli ((->) :: Type -> Type -> Type) m) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Comonad (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Comonad ((->) :: Type -> Type -> Type) ɯ => Comonad (NT (Cokleisli ((->) :: Type -> Type -> Type) ɯ) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Monad (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Monad ((->) :: Type -> Type -> Type) m => Monad (NT (Kleisli ((->) :: Type -> Type -> Type) m) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Comonad ((->) :: Type -> Type -> Type) ɯ => Monad (NT (Cokleisli ((->) :: Type -> Type -> Type) ɯ) :: (k -> Type) -> (k -> Type) -> Type) (IdentityT :: (k -> Type) -> k -> Type) Source # | |
Comonad ((->) :: Type -> Type -> Type) (s r) => Comonad (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (ReaderT s r :: (k1 -> Type) -> k1 -> Type) Source # | |
Monad ((->) :: Type -> Type -> Type) (s r) => Monad (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (ReaderT s r :: (k1 -> Type) -> k1 -> Type) Source # | |