proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Functor

Synopsis

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

Defined in Proarrow.Functor

Methods

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

Functor Identity Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

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

Functor IO Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a ~> b) -> IO a ~> IO 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 Maybe Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a ~> b) -> Maybe a ~> Maybe 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 (CatAsComonoid k :: Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

map :: (a ~> b) -> CatAsComonoid k a ~> CatAsComonoid k 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 #

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 #

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 #

(CategoryOf k, Functor f) => Functor (Ap f :: k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Free

Methods

map :: forall (a :: k) (b :: k). (a ~> b) -> Ap f a ~> Ap f 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 (Product f g :: k1 -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

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

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

Defined in Proarrow.Category.Instance.Nat

Methods

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

Functor f => Functor (n :*.: f :: k1 -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

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

Functor f => Functor (f :^: n :: k1 -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

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

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

Defined in Proarrow.Category.Instance.Nat

Methods

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

CategoryOf k => Functor (Lan j2 f :: k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

map :: forall (a :: k) (b :: k). (a ~> b) -> Lan j2 f a ~> Lan j2 f b Source Comments #

CategoryOf k => Functor (Ran j2 h :: k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

map :: forall (a :: k) (b :: k). (a ~> b) -> Ran j2 h a ~> Ran j2 h 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 (FromProfunctor p a :: k1 -> Type) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: forall (a0 :: k1) (b :: k1). (a0 ~> b) -> FromProfunctor p a a0 ~> FromProfunctor p a b Source Comments #

CategoryOf k => Functor ('COPR :: k -> COPROD k) Source Comments # 
Instance details

Defined in Proarrow.Object.BinaryCoproduct

Methods

map :: forall (a :: k) (b :: k). (a ~> b) -> 'COPR a ~> 'COPR b Source Comments #

CategoryOf k => Functor ('PR :: k -> PROD k) Source Comments # 
Instance details

Defined in Proarrow.Object.BinaryProduct

Methods

map :: forall (a :: k) (b :: k). (a ~> b) -> 'PR a ~> 'PR b Source Comments #

Functor Either Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

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

Functor (,) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

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

(Applicative f, CategoryOf k) => Functor ('A :: k -> AP f k) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Ap

Methods

map :: forall (a :: k) (b :: k). (a ~> b) -> ('A a :: AP f k) ~> ('A b :: AP f k) Source Comments #

(CategoryOf j, CategoryOf k) => Functor (Yo :: k -> OPPOSITE j -> k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Yoneda

Methods

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

MonoidalAction m k => Functor (Writer :: m -> k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Writer

Methods

map :: forall (a :: m) (b :: m). (a ~> b) -> (Writer a :: k -> k -> Type) ~> (Writer b :: k -> k -> Type) Source Comments #

CategoryOf k => Functor ('MK :: k -> MonK k i j) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.MonoidalAsBi

Methods

map :: forall (a :: k) (b :: k). (a ~> b) -> ('MK a :: MonK k i j) ~> ('MK b :: MonK k i j) Source Comments #

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

Defined in Proarrow.Category.Opposite

Methods

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

MonoidalAction m k => Functor (Reader :: OPPOSITE m -> k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

map :: forall (a :: OPPOSITE m) (b :: OPPOSITE m). (a ~> b) -> (Reader a :: k -> k -> Type) ~> (Reader b :: k -> k -> Type) Source Comments #

(CategoryOf j, CategoryOf k) => Functor (PList :: LIST (j +-> k) -> LIST k -> LIST j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Promonoidal

Methods

map :: forall (a :: LIST (j +-> k)) (b :: LIST (j +-> k)). (a ~> b) -> PList a ~> PList b Source Comments #

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

Defined in Proarrow.Profunctor.Ran

Methods

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

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

Defined in Proarrow.Profunctor.Rift

Methods

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

(CategoryOf j, CategoryOf k) => Functor (Yo a :: OPPOSITE j -> k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Yoneda

Methods

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

(Profunctor tk, Profunctor tj) => Functor (Day tk tj :: LIST (j +-> k) -> k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Promonoidal

Methods

map :: forall (a :: LIST (j +-> k)) (b :: LIST (j +-> k)). (a ~> b) -> Day tk tj a ~> Day tk tj b Source Comments #

Ob a => Functor (FlipApp a :: (k -> Type) -> Type) Source Comments # 
Instance details

Defined in Proarrow.Squares

Methods

map :: forall (a0 :: k -> Type) (b :: k -> Type). (a0 ~> b) -> FlipApp a a0 ~> FlipApp a b Source Comments #

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

Defined in Proarrow.Profunctor.Fix

Methods

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

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

Defined in Proarrow.Profunctor.Free

Methods

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

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

Defined in Proarrow.Profunctor.Free

Methods

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

Functor ('PK :: (j +-> k) -> PROFK j k) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Prof

Methods

map :: forall (a :: j +-> k) (b :: j +-> k). (a ~> b) -> 'PK a ~> 'PK b Source Comments #

Functor (Day :: (j +-> k) -> (j +-> k) -> k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Day

Methods

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

Functor (List :: (j +-> k) -> LIST k -> LIST j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.List

Methods

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

Functor (Coyoneda :: (j +-> k) -> k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Coyoneda

Methods

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

Functor (Yoneda :: (j +-> k) -> k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Yoneda

Methods

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

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

Defined in Proarrow.Category.Instance.Nat

Methods

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

Profunctor p => Functor (Day p :: (j +-> k) -> k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Day

Methods

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

(Monoidal j, Monoidal k, Profunctor p) => Functor (DayExp p :: (k -> j -> Type) -> k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Day

Methods

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

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

Defined in Proarrow.Profunctor.Composition

Methods

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

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

Defined in Proarrow.Profunctor.Ran

Methods

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

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

Defined in Proarrow.Profunctor.Rift

Methods

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

(Bicategory kk, Ob s, Ob0 kk h, Ob0 kk i, Ob0 kk j, Ob0 kk k2) => Functor (P kk kk (HK kk) s :: kk j k2 -> HK kk h j +-> HK kk i k2) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Methods

map :: forall (a :: kk j k2) (b :: kk j k2). (a ~> b) -> P kk kk (HK kk) s a ~> P kk kk (HK kk) s b Source Comments #

(Bicategory kk, Ob0 kk h, Ob0 kk i, Ob0 kk j, Ob0 kk k2) => Functor (P kk kk (HK kk) :: COK kk h i -> kk j k2 -> HK kk h j +-> HK kk i k2) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Methods

map :: forall (a :: COK kk h i) (b :: COK kk h i). (a ~> b) -> P kk kk (HK kk) a ~> P kk kk (HK kk) b Source Comments #

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

Constructors

Prelude 

Fields

Instances

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

Defined in Proarrow.Category.Monoidal.Applicative

Methods

empty :: Ob a => (Unit :: Type) ~> Prelude f a Source Comments #

alt :: (Ob a, Ob b) => ((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 :: ((Unit :: Type) ~> a) -> (Unit :: Type) ~> Prelude f a Source Comments #

liftA2 :: (Ob a, Ob b) => ((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 #

(Functor f, Applicative f) => Strong (SUBCAT Traversable) (Star (Prelude f) :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Star

Methods

act :: forall (a :: SUBCAT Traversable) (b :: SUBCAT Traversable) x y. (a ~> b) -> Star (Prelude f) x y -> Star (Prelude f) (Act a x) (Act b y) 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 #

Monad m => Procomonad (Costar (Prelude m) :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Costar

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

Defined in Proarrow.Functor

Methods

fmap :: (a -> b) -> Prelude f a -> Prelude f b Comments #

(<$) :: a -> Prelude f b -> Prelude f a Comments #

Foldable f => Foldable (Prelude f) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

fold :: Monoid m => Prelude f m -> m Comments #

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

foldMap' :: Monoid m => (a -> m) -> Prelude f a -> m Comments #

foldr :: (a -> b -> b) -> b -> Prelude f a -> b Comments #

foldr' :: (a -> b -> b) -> b -> Prelude f a -> b Comments #

foldl :: (b -> a -> b) -> b -> Prelude f a -> b Comments #

foldl' :: (b -> a -> b) -> b -> Prelude f a -> b Comments #

foldr1 :: (a -> a -> a) -> Prelude f a -> a Comments #

foldl1 :: (a -> a -> a) -> Prelude f a -> a Comments #

toList :: Prelude f a -> [a] Comments #

null :: Prelude f a -> Bool Comments #

length :: Prelude f a -> Int Comments #

elem :: Eq a => a -> Prelude f a -> Bool Comments #

maximum :: Ord a => Prelude f a -> a Comments #

minimum :: Ord a => Prelude f a -> a Comments #

sum :: Num a => Prelude f a -> a Comments #

product :: Num a => Prelude f a -> a Comments #

Traversable f => Traversable (Prelude f) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

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

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

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

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

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

Defined in Proarrow.Category.Monoidal.Optic

Methods

act :: forall a0 b0 x (y :: KlCat m). (a0 ~> b0) -> Updating a b x y -> Updating a b (Act a0 x) (Act b0 y) 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 #

Show (f a) => Show (Prelude f a) Source Comments # 
Instance details

Defined in Proarrow.Functor

Eq (f a) => Eq (Prelude f a) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

(==) :: Prelude f a -> Prelude f a -> Bool Comments #

(/=) :: Prelude f a -> Prelude f a -> Bool Comments #

newtype FromProfunctor (p :: k -> k1 -> Type) (a :: k) (b :: k1) Source Comments #

Constructors

FromProfunctor 

Fields

Instances

Instances details
(DistributiveProfunctor p, Distributive j, Comonoid ('COPR x)) => Alternative (FromProfunctor p x :: j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Applicative

Methods

empty :: forall (a :: j). Ob a => (Unit :: Type) ~> FromProfunctor p x a Source Comments #

alt :: forall (a :: j) (b :: j) (c :: j). (Ob a, Ob b) => ((a || b) ~> c) -> (FromProfunctor p x a ** FromProfunctor p x b) ~> FromProfunctor p x c Source Comments #

(MonoidalProfunctor p, Comonoid x) => Applicative (FromProfunctor p x :: j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Applicative

Methods

pure :: forall (a :: j). ((Unit :: j) ~> a) -> (Unit :: Type) ~> FromProfunctor p x a Source Comments #

liftA2 :: forall (a :: j) (b :: j) (c :: j). (Ob a, Ob b) => ((a ** b) ~> c) -> (FromProfunctor p x a ** FromProfunctor p x b) ~> FromProfunctor p x c Source Comments #

Profunctor p => Functor (FromProfunctor p a :: k1 -> Type) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

map :: forall (a0 :: k1) (b :: k1). (a0 ~> b) -> FromProfunctor p a a0 ~> FromProfunctor p a b Source Comments #

Profunctor p => Functor (FromProfunctor p a) Source Comments # 
Instance details

Defined in Proarrow.Functor

Methods

fmap :: (a0 -> b) -> FromProfunctor p a a0 -> FromProfunctor p a b Comments #

(<$) :: a0 -> FromProfunctor p a b -> FromProfunctor p a a0 Comments #

type Presheaf k = () +-> k Source Comments #

Presheaves are functors but it makes more sense in proarrow to represent them as profunctors from the unit category.

type Copresheaf k = k +-> () Source Comments #

Copresheaves are functors but it makes more sense in proarrow to represent them as profunctors into the unit category.

class (CategoryOf j, CategoryOf k) => FunctorForRep (f :: j +-> k) where Source Comments #

A perfectly valid functor definition, but hard to use. So we only use it to easily make (co)representable profunctors with Rep and Corep.

Associated Types

type (f :: j +-> k) @ (a :: j) :: k Source Comments #

Methods

fmap :: forall (a :: j) (b :: j). (a ~> b) -> (f @ a) ~> (f @ b) Source Comments #

Instances

Instances details
FunctorForRep Forget Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Linear

Associated Types

type Forget @ (a :: LINEAR) 
Instance details

Defined in Proarrow.Category.Instance.Linear

type Forget @ (a :: LINEAR) = UN 'L a

Methods

fmap :: forall (a :: LINEAR) (b :: LINEAR). (a ~> b) -> (Forget @ a) ~> (Forget @ b) Source Comments #

FunctorForRep Forget Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Simplex

Associated Types

type Forget @ (n :: Nat) 
Instance details

Defined in Proarrow.Category.Instance.Simplex

type Forget @ (n :: Nat) = Fin n

Methods

fmap :: forall (a :: Nat) (b :: Nat). (a ~> b) -> (Forget @ a) ~> (Forget @ b) Source Comments #

CategoryOf k => FunctorForRep (Initiate :: VOID +-> k) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

fmap :: forall (a :: VOID) (b :: VOID). (a ~> b) -> ((Initiate :: VOID +-> k) @ a) ~> ((Initiate :: VOID +-> k) @ b) Source Comments #

CategoryOf k => FunctorForRep (Terminate :: k +-> ()) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

fmap :: forall (a :: k) (b :: k). (a ~> b) -> ((Terminate :: k +-> ()) @ a) ~> ((Terminate :: k +-> ()) @ b) Source Comments #

Representable d => FunctorForRep (EndLimit d :: () +-> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

Methods

fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (EndLimit d @ a) ~> (EndLimit d @ b) Source Comments #

(HasBinaryProducts k, Representable d) => FunctorForRep (ProductLimit d :: () +-> k) Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

Methods

fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (ProductLimit d @ a) ~> (ProductLimit d @ b) Source Comments #

HasTerminalObject k => FunctorForRep (TerminalLimit d :: () +-> k) Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

Methods

fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (TerminalLimit d @ a) ~> (TerminalLimit d @ b) Source Comments #

(Closed k, Ob a) => FunctorForRep (Exponential ('OP a) :: k +-> k) Source Comments # 
Instance details

Defined in Proarrow.Object.Exponential

Methods

fmap :: forall (a0 :: k) (b :: k). (a0 ~> b) -> (Exponential ('OP a) @ a0) ~> (Exponential ('OP a) @ b) Source Comments #

(Representable d, Powered v k, Ob n) => FunctorForRep (PowerLimit n d :: () +-> k) Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

Methods

fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (PowerLimit n d @ a) ~> (PowerLimit n d @ b) Source Comments #

CategoryOf k => FunctorForRep (Embed :: k +-> FAM k) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Fam

Methods

fmap :: forall (a :: k) (b :: k). (a ~> b) -> ((Embed :: k +-> FAM k) @ a) ~> ((Embed :: k +-> FAM k) @ b) Source Comments #

(CategoryOf j, CategoryOf k) => FunctorForRep (LftCat :: j +-> COPRODUCT j k) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

fmap :: forall (a :: j) (b :: j). (a ~> b) -> ((LftCat :: j +-> COPRODUCT j k) @ a) ~> ((LftCat :: j +-> COPRODUCT j k) @ b) Source Comments #

HasCofree ob => FunctorForRep (CofreeSub ob :: j +-> SUBCAT ob) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Cofree

Methods

fmap :: forall (a :: j) (b :: j). (a ~> b) -> (CofreeSub ob @ a) ~> (CofreeSub ob @ b) Source Comments #

HasFree ob => FunctorForRep (FreeSub ob :: j +-> SUBCAT ob) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Free

Methods

fmap :: forall (a :: j) (b :: j). (a ~> b) -> (FreeSub ob @ a) ~> (FreeSub ob @ b) Source Comments #

(CategoryOf j, CategoryOf k) => FunctorForRep (RgtCat :: k +-> COPRODUCT j k) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

fmap :: forall (a :: k) (b :: k). (a ~> b) -> ((RgtCat :: k +-> COPRODUCT j k) @ a) ~> ((RgtCat :: k +-> COPRODUCT j k) @ b) Source Comments #

FunctorForRep DualUnit Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Associated Types

type DualUnit @ ('OP '()) 
Instance details

Defined in Proarrow.Category.Instance.Cat

type DualUnit @ ('OP '()) = '()

Methods

fmap :: forall (a :: OPPOSITE ()) (b :: OPPOSITE ()). (a ~> b) -> (DualUnit @ a) ~> (DualUnit @ b) Source Comments #

CategoryOf k => FunctorForRep (IsPresheafSub :: FAM k +-> Presheaf k) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Fam

Methods

fmap :: forall (a :: FAM k) (b :: FAM k). (a ~> b) -> ((IsPresheafSub :: FAM k +-> Presheaf k) @ a) ~> ((IsPresheafSub :: FAM k +-> Presheaf k) @ b) Source Comments #

(CategoryOf j, CategoryOf k) => FunctorForRep (DistribDual :: OPPOSITE (j, k) +-> (OPPOSITE j, OPPOSITE k)) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

fmap :: forall (a :: OPPOSITE (j, k)) (b :: OPPOSITE (j, k)). (a ~> b) -> ((DistribDual :: OPPOSITE (j, k) +-> (OPPOSITE j, OPPOSITE k)) @ a) ~> ((DistribDual :: OPPOSITE (j, k) +-> (OPPOSITE j, OPPOSITE k)) @ b) Source Comments #

CategoryOf k => FunctorForRep (Forget ob :: SUBCAT ob +-> k) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Sub

Methods

fmap :: forall (a :: SUBCAT ob) (b :: SUBCAT ob). (a ~> b) -> (Forget ob @ a) ~> (Forget ob @ b) Source Comments #

(CategoryOf j, CategoryOf k) => FunctorForRep (FstCat :: (j, k) +-> j) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

fmap :: forall (a :: (j, k)) (b :: (j, k)). (a ~> b) -> ((FstCat :: (j, k) +-> j) @ a) ~> ((FstCat :: (j, k) +-> j) @ b) Source Comments #

(CategoryOf j, CategoryOf k) => FunctorForRep (SndCat :: (j, k) +-> k) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

fmap :: forall (a :: (j, k)) (b :: (j, k)). (a ~> b) -> ((SndCat :: (j, k) +-> k) @ a) ~> ((SndCat :: (j, k) +-> k) @ b) Source Comments #

(CategoryOf j, CategoryOf k) => FunctorForRep (CombineDual :: (OPPOSITE j, OPPOSITE k) +-> OPPOSITE (j, k)) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

fmap :: forall (a :: (OPPOSITE j, OPPOSITE k)) (b :: (OPPOSITE j, OPPOSITE k)). (a ~> b) -> ((CombineDual :: (OPPOSITE j, OPPOSITE k) +-> OPPOSITE (j, k)) @ a) ~> ((CombineDual :: (OPPOSITE j, OPPOSITE k) +-> OPPOSITE (j, k)) @ b) Source Comments #

(CategoryOf j, CategoryOf k) => FunctorForRep (Swap :: (j, k) +-> (k, j)) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

fmap :: forall (a :: (j, k)) (b :: (j, k)). (a ~> b) -> ((Swap :: (j, k) +-> (k, j)) @ a) ~> ((Swap :: (j, k) +-> (k, j)) @ b) Source Comments #