proarrow-0: Category theory with a central role for profunctors
Safe HaskellNone
LanguageHaskell2010

Proarrow.Functor

Documentation

type (.~>) (f :: k -> k1) (g :: k -> k1) = forall (a :: k). Ob a => f a ~> g a infixr 0 Source Comments #

class (CategoryOf k1, CategoryOf k2, forall (a :: k1). Ob a => Ob' (f a)) => Functor (f :: k1 -> k2) where Source Comments #

Methods

map :: forall (a :: k1) (b :: k1). (a ~> b) -> f a ~> f b Source Comments #

Instances

Instances details
Functor Identity Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a ~> b) -> Identity a ~> Identity b Source Comments #

Functor Ur Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Linear

Methods

map :: (a ~> b) -> Ur a ~> Ur b Source Comments #

Functor [] Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a ~> b) -> [a] ~> [b] Source Comments #

Functor (Either a :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a0 ~> b) -> Either a a0 ~> Either a b Source Comments #

Functor (ListF x :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Fix

Methods

map :: (a ~> b) -> ListF x a ~> ListF x b Source Comments #

Functor ((,) a :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a0 ~> b) -> (a, a0) ~> (a, b) Source Comments #

Functor f => Functor (Prelude f :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a ~> b) -> Prelude f a ~> Prelude f b Source Comments #

CategoryOf k => Functor (Const x :: k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: forall (a :: k) (b :: k). (a ~> b) -> Const x a ~> Const x b Source Comments #

Functor (HaskLan j f :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Kan

Methods

map :: (a ~> b) -> HaskLan j f a ~> HaskLan j f b Source Comments #

Functor (HaskRan g h :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Kan

Methods

map :: (a ~> b) -> HaskRan g h a ~> HaskRan g h b Source Comments #

Functor ((->) a :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a0 ~> b) -> (a -> a0) ~> (a -> b) Source Comments #

(Functor f, Functor g) => Functor (Compose f g :: k1 -> Type) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: forall (a :: k1) (b :: k1). (a ~> b) -> Compose f g a ~> Compose f g b Source Comments #

Profunctor p => Functor (Op p a :: OPPOSITE j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Opposite

Methods

map :: forall (a0 :: OPPOSITE j) (b :: OPPOSITE j). (a0 ~> b) -> Op p a a0 ~> Op p a b Source Comments #

Functor (Ran :: OPPOSITE (PRO i j) -> PRO i k -> j -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Ran

Methods

map :: forall (a :: OPPOSITE (PRO i j)) (b :: OPPOSITE (PRO i j)). (a ~> b) -> (Ran a :: PRO i k -> j -> k -> Type) ~> (Ran b :: PRO i k -> j -> k -> Type) Source Comments #

Functor (Rift :: OPPOSITE (PRO k i) -> PRO j i -> j -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Rift

Methods

map :: forall (a :: OPPOSITE (PRO k i)) (b :: OPPOSITE (PRO k i)). (a ~> b) -> (Rift a :: PRO j i -> j -> k -> Type) ~> (Rift b :: PRO j i -> j -> k -> Type) Source Comments #

Functor (Fix :: PRO k k -> k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Fix

Methods

map :: forall (a :: PRO k k) (b :: PRO k k). (a ~> b) -> Fix a ~> Fix b Source Comments #

Functor (Collage :: PRO j k -> COPRODUCT j k -> COPRODUCT j k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Collage

Methods

map :: forall (a :: PRO j k) (b :: PRO j k). (a ~> b) -> Collage a ~> Collage b Source Comments #

Functor ((:.:) :: PRO i j -> PRO j k -> i -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Composition

Methods

map :: forall (a :: PRO i j) (b :: PRO i j). (a ~> b) -> ((:.:) a :: PRO j k -> i -> k -> Type) ~> ((:.:) b :: PRO j k -> i -> k -> Type) Source Comments #

Profunctor j2 => Functor (Precompose j2 :: PRO i j1 -> i -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Rift

Methods

map :: forall (a :: PRO i j1) (b :: PRO i j1). (a ~> b) -> Precompose j2 a ~> Precompose j2 b Source Comments #

Profunctor j2 => Functor (Ran ('OP j2) :: PRO i k -> j1 -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Ran

Methods

map :: forall (a :: PRO i k) (b :: PRO i k). (a ~> b) -> Ran ('OP j2) a ~> Ran ('OP j2) b Source Comments #

Profunctor p => Functor ((:.:) p :: PRO j k -> i -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Composition

Methods

map :: forall (a :: PRO j k) (b :: PRO j k). (a ~> b) -> (p :.: a) ~> (p :.: b) Source Comments #

Profunctor j2 => Functor (Rift ('OP j2) :: PRO j1 i -> j1 -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Rift

Methods

map :: forall (a :: PRO j1 i) (b :: PRO j1 i). (a ~> b) -> Rift ('OP j2) a ~> Rift ('OP j2) b Source Comments #

newtype Prelude (f :: k -> Type) (a :: k) Source Comments #

Constructors

Prelude 

Fields

Instances

Instances details
Monad m => Tambara (->) (Updating a b :: Type -> KlCat m -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Optic

Methods

tambara :: forall x x' a0 (b0 :: KlCat m). (x -> x') -> Updating a b a0 b0 -> Updating a b (Act x a0) (Act x' b0) Source Comments #

Alternative f => Alternative (Prelude f :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Applicative

Methods

empty :: El (Prelude f a) Source Comments #

alt :: ((a || b) ~> c) -> (Prelude f a && Prelude f b) ~> Prelude f c Source Comments #

Applicative f => Applicative (Prelude f :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Applicative

Methods

pure :: El a -> El (Prelude f a) Source Comments #

liftA2 :: ((a && b) ~> c) -> (Prelude f a && Prelude f b) ~> Prelude f c Source Comments #

Functor f => Functor (Prelude f :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a ~> b) -> Prelude f a ~> Prelude f b Source Comments #

Monad m => MonoidalAction Type (KlCat m) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Optic

Methods

act :: forall p q (x :: KlCat m) (y :: KlCat m). (p ~> q) -> (x ~> y) -> Act p x ~> Act q y Source Comments #

unitor :: forall (x :: KlCat m). Obj x -> Act (Unit :: Type) x ~> x Source Comments #

unitorInv :: forall (x :: KlCat m). Obj x -> x ~> Act (Unit :: Type) x Source Comments #

multiplicator :: forall p q (x :: KlCat m). Obj p -> Obj q -> Obj x -> Act p (Act q x) ~> Act (p ** q) x Source Comments #

multiplicatorInv :: forall p q (x :: KlCat m). Obj p -> Obj q -> Obj x -> Act (p ** q) x ~> Act p (Act q x) Source Comments #

Monad m => Profunctor (Updating a b :: Type -> KlCat m -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Optic

Methods

dimap :: forall c a0 (b0 :: KlCat m) (d :: KlCat m). (c ~> a0) -> (b0 ~> d) -> Updating a b a0 b0 -> Updating a b c d Source Comments #

(\\) :: forall a0 (b0 :: KlCat m) r. ((Ob a0, Ob b0) => r) -> Updating a b a0 b0 -> r Source Comments #

Monad m => Promonad (Star (Prelude m) :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Star

Methods

id :: Ob a => Star (Prelude m) a a Source Comments #

(.) :: Star (Prelude m) b c -> Star (Prelude m) a b -> Star (Prelude m) a c Source Comments #

type Act (p :: Type) ('KL x :: KLEISLI (Star (Prelude m))) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Optic

type Act (p :: Type) ('KL x :: KLEISLI (Star (Prelude m))) = 'KL (p ** x) :: KLEISLI (Star (Prelude m))