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

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

Methods

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

Instances

Instances details
Functor NonEmpty Source Github # 
Instance details

Defined in Proarrow.Functor

Methods

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

Functor Identity Source Github # 
Instance details

Defined in Proarrow.Functor

Methods

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

Functor IO Source Github # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a ~> b) -> IO a ~> IO b Source Github #

Functor Ur Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Linear

Methods

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

Functor Maybe Source Github # 
Instance details

Defined in Proarrow.Functor

Methods

map :: (a ~> b) -> Maybe a ~> Maybe b Source Github #

Functor [] Source Github # 
Instance details

Defined in Proarrow.Functor

Methods

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

Functor (FromPointed []) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.PointedHask

Methods

map :: forall (a :: POINTED) (b :: POINTED). (a ~> b) -> FromPointed [] a ~> FromPointed [] b Source Github #

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

Defined in Proarrow.Functor

Methods

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

Functor (CatAsComonoid k :: Type -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

map :: (a ~> b) -> CatAsComonoid k a ~> CatAsComonoid k b Source Github #

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

Defined in Proarrow.Functor

Methods

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

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

Defined in Proarrow.Profunctor.Fix

Methods

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

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

Defined in Proarrow.Functor

Methods

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

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

Defined in Proarrow.Functor

Methods

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

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

Defined in Proarrow.Profunctor.Free

Methods

map :: forall (a :: k) (b :: k). (a ~> b) -> Ap f a ~> Ap f b Source Github #

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

Defined in Proarrow.Functor

Methods

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

(Functor f, Functor g) => Functor (Product f g :: k1 -> Type) Source Github # 
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 Github #

(Functor f, Functor g) => Functor (Sum f g :: k1 -> Type) Source Github # 
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 Github #

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

Defined in Proarrow.Category.Instance.Nat

Methods

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

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

Defined in Proarrow.Category.Instance.Nat

Methods

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

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

Defined in Proarrow.Category.Instance.Nat

Methods

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

CategoryOf k => Functor (Lan j2 f :: k -> Type) Source Github # 
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 Github #

CategoryOf k => Functor (Ran j2 h :: k -> Type) Source Github # 
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 Github #

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

Defined in Proarrow.Functor

Methods

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

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

Defined in Proarrow.Functor

Methods

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

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

Defined in Proarrow.Object.BinaryCoproduct

Methods

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

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

Defined in Proarrow.Object.BinaryProduct

Methods

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

Functor Either Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

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

Functor (,) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

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

Monoidal k => Functor (Writer :: k -> k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Promonad.Writer

Methods

map :: forall (a :: k) (b :: k). (a ~> b) -> Writer a ~> Writer b Source Github #

(Applicative f, CategoryOf k) => Functor ('A :: k -> AP f k) Source Github # 
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 Github #

(CategoryOf j, CategoryOf k) => Functor (Yo :: k -> OPPOSITE j -> k -> j -> Type) Source Github # 
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 Github #

CategoryOf k => Functor ('MK :: k -> MonK k i j) Source Github # 
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 Github #

Profunctor p => Functor (Op p a :: OPPOSITE k -> Type) Source Github # 
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 Github #

Monoidal k => Functor (Reader :: OPPOSITE k -> k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

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

Functor (Costar' :: OPPOSITE (j .-> k) -> j -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Costar

Methods

map :: forall (a :: OPPOSITE (j .-> k)) (b :: OPPOSITE (j .-> k)). (a ~> b) -> Costar' a ~> Costar' b Source Github #

(CategoryOf j, CategoryOf k) => Functor (PList :: LIST (j +-> k) -> LIST k -> LIST j -> Type) Source Github # 
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 Github #

Functor (Ran :: OPPOSITE (i +-> j) -> (i +-> k) -> k -> j -> Type) Source Github # 
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 Github #

Functor (Rift :: OPPOSITE (k +-> i) -> (j +-> i) -> k -> j -> Type) Source Github # 
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 Github #

(CategoryOf j, CategoryOf k) => Functor (Yo a :: OPPOSITE j -> k -> j -> Type) Source Github # 
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 Github #

(Profunctor tk, Profunctor tj) => Functor (Day tk tj :: LIST (j +-> k) -> k -> j -> Type) Source Github # 
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 Github #

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

Defined in Proarrow.Squares

Methods

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

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

Defined in Proarrow.Profunctor.Fix

Methods

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

Functor (FreePromonad :: (k -> k -> Type) -> k -> k -> Type) Source Github # 
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 Github #

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

Defined in Proarrow.Profunctor.Free

Methods

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

(CategoryOf j, CategoryOf k) => Functor (Star' :: (j .-> k) -> k -> j -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Star

Methods

map :: forall (a :: j .-> k) (b :: j .-> k). (a ~> b) -> Star' a ~> Star' b Source Github #

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

Defined in Proarrow.Category.Bicategory.Prof

Methods

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

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

Defined in Proarrow.Profunctor.Day

Methods

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

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

Defined in Proarrow.Profunctor.List

Methods

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

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

Defined in Proarrow.Profunctor.Coyoneda

Methods

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

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

Defined in Proarrow.Profunctor.Yoneda

Methods

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

Functor ((:.:) :: (j +-> k) -> (i +-> j) -> k -> i -> Type) Source Github # 
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 Github #

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

Defined in Proarrow.Profunctor.Coproduct

Methods

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

Profunctor p => Functor (Day p :: (j +-> k) -> k -> j -> Type) Source Github # 
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 Github #

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

Defined in Proarrow.Profunctor.Product

Methods

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

(Monoidal j, Monoidal k, Profunctor p) => Functor (DayExp p :: (k -> j -> Type) -> k -> j -> Type) Source Github # 
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 Github #

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

Defined in Proarrow.Profunctor.Composition

Methods

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

Profunctor j2 => Functor (Ran ('OP j2) :: (i +-> k) -> k -> j1 -> Type) Source Github # 
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 Github #

Profunctor j2 => Functor (Rift ('OP j2) :: (j1 +-> i) -> k -> j1 -> Type) Source Github # 
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 Github #

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

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

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

Constructors

Prelude 

Fields

Instances

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

Defined in Proarrow.Category.Monoidal.Applicative

Methods

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

alt :: (Ob a, Ob b) => ((a || b) ~> c) -> (Prelude f a ** Prelude f b) ~> Prelude f c Source Github #

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

Defined in Proarrow.Category.Monoidal.Applicative

Methods

pure :: ((Unit :: Type) ~> a) -> (Unit :: Type) ~> Prelude f a Source Github #

liftA2 :: (Ob a, Ob b) => ((a ** b) ~> c) -> (Prelude f a ** Prelude f b) ~> Prelude f c Source Github #

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

Defined in Proarrow.Functor

Methods

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

Applicative f => Strong (SUBCAT Traversable) (Star (Prelude f) :: Type -> Type -> Type) Source Github # 
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 Github #

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

Defined in Proarrow.Profunctor.Star

Methods

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

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

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

Defined in Proarrow.Profunctor.Costar

Applicative f => Applicative (Prelude f) Source Github # 
Instance details

Defined in Proarrow.Functor

Methods

pure :: a -> Prelude f a Github #

(<*>) :: Prelude f (a -> b) -> Prelude f a -> Prelude f b Github #

liftA2 :: (a -> b -> c) -> Prelude f a -> Prelude f b -> Prelude f c Github #

(*>) :: Prelude f a -> Prelude f b -> Prelude f b Github #

(<*) :: Prelude f a -> Prelude f b -> Prelude f a Github #

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

Defined in Proarrow.Functor

Methods

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

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

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

Defined in Proarrow.Functor

Methods

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

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

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

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

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

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

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

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

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

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

null :: Prelude f a -> Bool Github #

length :: Prelude f a -> Int Github #

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

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

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

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

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

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

Defined in Proarrow.Functor

Methods

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

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

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

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

Monad m => Strong Type (Updating a b :: Type -> KlCat m -> Type) Source Github # 
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 Github #

Monad m => Profunctor (Updating a b :: Type -> KlCat m -> Type) Source Github # 
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 Github #

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

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

Defined in Proarrow.Functor

Methods

showsPrec :: Int -> Prelude f a -> ShowS Github #

show :: Prelude f a -> String Github #

showList :: [Prelude f a] -> ShowS Github #

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

Defined in Proarrow.Functor

Methods

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

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

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

Constructors

FromProfunctor 

Fields

Instances

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

Defined in Proarrow.Category.Monoidal.Applicative

Methods

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

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

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

Defined in Proarrow.Category.Monoidal.Applicative

Methods

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

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

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

Defined in Proarrow.Functor

Methods

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

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

Defined in Proarrow.Functor

Methods

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

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

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

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

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

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

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

Methods

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

Instances

Instances details
FunctorForRep Forget Source Github # 
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 Github #

FunctorForRep Fun Source Github # 
Instance details

Defined in Proarrow.Category.Instance.FinRel

Associated Types

type Fun @ ('FS a :: FINSET) 
Instance details

Defined in Proarrow.Category.Instance.FinRel

type Fun @ ('FS a :: FINSET) = 'FR a

Methods

fmap :: forall (a :: FINSET) (b :: FINSET). (a ~> b) -> (Fun @ a) ~> (Fun @ b) Source Github #

FunctorForRep Forget Source Github # 
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 Github #

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

Defined in Proarrow.Category.Instance.Fam

Methods

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

Monoidal k => FunctorForRep (UnitRep :: k -> () -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal

Methods

fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> ((UnitRep :: k -> () -> Type) @ a) ~> ((UnitRep :: k -> () -> Type) @ b) Source Github #

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

Defined in Proarrow.Category.Instance.Cat

Methods

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

Monoid m => FunctorForRep (Replicate m :: Nat +-> k) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Simplex

Methods

fmap :: forall (a :: Nat) (b :: Nat). (a ~> b) -> (Replicate m @ a) ~> (Replicate m @ b) Source Github #

Corepresentable d => FunctorForRep (CoendLimit d :: () +-> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Colimit

Methods

fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CoendLimit d @ a) ~> (CoendLimit d @ b) Source Github #

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

Defined in Proarrow.Category.Limit

Methods

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

(HasBinaryCoproducts k, Corepresentable d) => FunctorForRep (CoproductColimit d :: () +-> k) Source Github # 
Instance details

Defined in Proarrow.Category.Colimit

Methods

fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CoproductColimit d @ a) ~> (CoproductColimit d @ b) Source Github #

HasInitialObject k => FunctorForRep (InitialLimit d :: () +-> k) Source Github # 
Instance details

Defined in Proarrow.Category.Colimit

Methods

fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (InitialLimit d @ a) ~> (InitialLimit d @ b) Source Github #

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

Defined in Proarrow.Category.Limit

Methods

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

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

Defined in Proarrow.Category.Limit

Methods

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

(Corepresentable d, Copowered Type k) => FunctorForRep (CopowerLimit n d :: () +-> k) Source Github # 
Instance details

Defined in Proarrow.Category.Colimit

Methods

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

(CategoryOf j, CategoryOf k, Ob c) => FunctorForRep (Constant c :: j +-> k) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Constant

Methods

fmap :: forall (a :: j) (b :: j). (a ~> b) -> (Constant c @ a) ~> (Constant c @ b) Source Github #

(MonoidalAction m k, Ob a) => FunctorForRep (Action' a :: k +-> k) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.Action

Methods

fmap :: forall (a0 :: k) (b :: k). (a0 ~> b) -> (Action' a @ a0) ~> (Action' a @ b) Source Github #

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

Defined in Proarrow.Category.Limit

Methods

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

CategoryOf k => FunctorForRep (Embed :: k +-> FAM k) Source Github # 
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 Github #

(Closed k, Ob r) => FunctorForRep (Not r :: k +-> OPPOSITE k) Source Github # 
Instance details

Defined in Proarrow.Object.Exponential

Methods

fmap :: forall (a :: k) (b :: k). (a ~> b) -> (Not r @ a) ~> (Not r @ b) Source Github #

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

Defined in Proarrow.Category.Instance.Fam

Methods

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

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

Defined in Proarrow.Profunctor.Cofree

Methods

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

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

Defined in Proarrow.Category.Instance.Fam

Methods

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

Profunctor p => FunctorForRep (InjL p :: j +-> COLLAGE p) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Collage

Methods

fmap :: forall (a :: j) (b :: j). (a ~> b) -> (InjL p @ a) ~> (InjL p @ b) Source Github #

Profunctor p => FunctorForRep (InjR p :: j1 +-> COLLAGE p) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Collage

Methods

fmap :: forall (a :: j1) (b :: j1). (a ~> b) -> (InjR p @ a) ~> (InjR p @ b) Source Github #

FunctorForRep DualUnit Source Github # 
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 Github #

Num a => FunctorForRep (App :: MatK a +-> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Mat

Methods

fmap :: forall (a0 :: MatK a) (b :: MatK a). (a0 ~> b) -> ((App :: MatK a +-> Type) @ a0) ~> ((App :: MatK a +-> Type) @ b) Source Github #

FunctorForRep (Pick a :: OPPOSITE Nat +-> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Simplex

Methods

fmap :: forall (a0 :: OPPOSITE Nat) (b :: OPPOSITE Nat). (a0 ~> b) -> (Pick a @ a0) ~> (Pick a @ b) Source Github #

(HasPushouts k, HasPullbacks k) => FunctorForRep (Pullback :: COSPAN k +-> SPAN k) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Cospan

Methods

fmap :: forall (a :: COSPAN k) (b :: COSPAN k). (a ~> b) -> ((Pullback :: COSPAN k +-> SPAN k) @ a) ~> ((Pullback :: COSPAN k +-> SPAN k) @ b) Source Github #

CategoryOf k => FunctorForRep (IsPresheafSub :: FAM k +-> Presheaf k) Source Github # 
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 Github #

(HasPushouts k, HasPullbacks k) => FunctorForRep (Pushout :: SPAN k +-> COSPAN k) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Cospan

Methods

fmap :: forall (a :: SPAN k) (b :: SPAN k). (a ~> b) -> ((Pushout :: SPAN k +-> COSPAN k) @ a) ~> ((Pushout :: SPAN k +-> COSPAN k) @ b) Source Github #

(CategoryOf j, CategoryOf k) => FunctorForRep (DistribDual :: OPPOSITE (j, k) +-> (OPPOSITE j, OPPOSITE k)) Source Github # 
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 Github #

Closed k => FunctorForRep (ExpRep :: (OPPOSITE k, k) +-> k) Source Github # 
Instance details

Defined in Proarrow.Object.Exponential

Methods

fmap :: forall (a :: (OPPOSITE k, k)) (b :: (OPPOSITE k, k)). (a ~> b) -> ((ExpRep :: (OPPOSITE k, k) +-> k) @ a) ~> ((ExpRep :: (OPPOSITE k, k) +-> k) @ b) Source Github #

Monoidal k => FunctorForRep (MultRep :: k -> (k, k) -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal

Methods

fmap :: forall (a :: (k, k)) (b :: (k, k)). (a ~> b) -> ((MultRep :: k -> (k, k) -> Type) @ a) ~> ((MultRep :: k -> (k, k) -> Type) @ b) Source Github #

CategoryOf k => FunctorForRep (Forget ob :: SUBCAT ob +-> k) Source Github # 
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 Github #

(CategoryOf j, CategoryOf k) => FunctorForRep (FstCat :: (j, k) +-> j) Source Github # 
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 Github #

(CategoryOf j, CategoryOf k) => FunctorForRep (SndCat :: (j, k) +-> k) Source Github # 
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 Github #

(CategoryOf j, CategoryOf k) => FunctorForRep (CombineDual :: (OPPOSITE j, OPPOSITE k) +-> OPPOSITE (j, k)) Source Github # 
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 Github #

(CategoryOf j, CategoryOf k) => FunctorForRep (Swap :: (j, k) +-> (k, j)) Source Github # 
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 Github #