profunctors-5.6.2: Profunctors
Copyright (C) 2014-2015 Edward Kmett
License BSD-style (see the file LICENSE)
Maintainer Edward Kmett <ekmett@gmail.com>
Stability experimental
Portability portable
Safe Haskell Trustworthy
Language Haskell2010

Data.Profunctor.Cayley

Description

Synopsis

Documentation

newtype Cayley f p a b Source #

Static arrows. Lifted by Applicative .

Cayley has a polymorphic kind since 5.6 .

Constructors

Cayley

Fields

Instances

Instances details
( Applicative f, Category p) => Category ( Cayley f p :: k -> k -> Type ) Source #
Instance details

Defined in Data.Profunctor.Cayley

Methods

id :: forall (a :: k0). Cayley f p a a Source #

(.) :: forall (b :: k0) (c :: k0) (a :: k0). Cayley f p b c -> Cayley f p a b -> Cayley f p a c Source #

Functor f => ProfunctorFunctor ( Cayley f :: ( Type -> Type -> Type ) -> Type -> Type -> Type ) Source #
Instance details

Defined in Data.Profunctor.Cayley

Comonad f => ProfunctorComonad ( Cayley f :: ( Type -> Type -> Type ) -> Type -> Type -> Type ) Source #

Cayley transforms Comonads in Hask into comonads on Prof

Instance details

Defined in Data.Profunctor.Cayley

( Functor f, Monad f) => ProfunctorMonad ( Cayley f :: ( Type -> Type -> Type ) -> Type -> Type -> Type ) Source #

Cayley transforms Monads in Hask into monads on Prof

Instance details

Defined in Data.Profunctor.Cayley

( Applicative f, Arrow p) => Arrow ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

Methods

arr :: (b -> c) -> Cayley f p b c Source #

first :: Cayley f p b c -> Cayley f p (b, d) (c, d) Source #

second :: Cayley f p b c -> Cayley f p (d, b) (d, c) Source #

(***) :: Cayley f p b c -> Cayley f p b' c' -> Cayley f p (b, b') (c, c') Source #

(&&&) :: Cayley f p b c -> Cayley f p b c' -> Cayley f p b (c, c') Source #

( Applicative f, ArrowZero p) => ArrowZero ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

( Applicative f, ArrowPlus p) => ArrowPlus ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

Methods

(<+>) :: Cayley f p b c -> Cayley f p b c -> Cayley f p b c Source #

( Applicative f, ArrowChoice p) => ArrowChoice ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

( Applicative f, ArrowLoop p) => ArrowLoop ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

Methods

loop :: Cayley f p (b, d) (c, d) -> Cayley f p b c Source #

( Functor f, Profunctor p) => Profunctor ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

Methods

dimap :: (a -> b) -> (c -> d) -> Cayley f p b c -> Cayley f p a d Source #

lmap :: (a -> b) -> Cayley f p b c -> Cayley f p a c Source #

rmap :: (b -> c) -> Cayley f p a b -> Cayley f p a c Source #

(#.) :: forall a b c q. Coercible c b => q b c -> Cayley f p a b -> Cayley f p a c Source #

(.#) :: forall a b c q. Coercible b a => Cayley f p b c -> q a b -> Cayley f p a c Source #

( Functor f, Costrong p) => Costrong ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

Methods

unfirst :: Cayley f p (a, d) (b, d) -> Cayley f p a b Source #

unsecond :: Cayley f p (d, a) (d, b) -> Cayley f p a b Source #

( Functor f, Strong p) => Strong ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

Methods

first' :: Cayley f p a b -> Cayley f p (a, c) (b, c) Source #

second' :: Cayley f p a b -> Cayley f p (c, a) (c, b) Source #

( Functor f, Closed p) => Closed ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

Methods

closed :: Cayley f p a b -> Cayley f p (x -> a) (x -> b) Source #

( Functor f, Cochoice p) => Cochoice ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

( Functor f, Choice p) => Choice ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

( Functor f, Traversing p) => Traversing ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

Methods

traverse' :: Traversable f0 => Cayley f p a b -> Cayley f p (f0 a) (f0 b) Source #

wander :: ( forall (f0 :: Type -> Type ). Applicative f0 => (a -> f0 b) -> s -> f0 t) -> Cayley f p a b -> Cayley f p s t Source #

( Functor f, Mapping p) => Mapping ( Cayley f p) Source #
Instance details

Defined in Data.Profunctor.Cayley

Methods

map' :: Functor f0 => Cayley f p a b -> Cayley f p (f0 a) (f0 b) Source #

roam :: ((a -> b) -> s -> t) -> Cayley f p a b -> Cayley f p s t Source #

mapCayley :: ( forall a. f a -> g a) -> Cayley f p x y -> Cayley g p x y Source #