pandora-0.5.3: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Paradigm.Primary.Functor.These

Documentation

data These e a Source #

Constructors

This a 
That e 
These e a 

Instances

Instances details
Morphable ('Into ('This Maybe :: These e1 (Type -> Type)) :: Morph (These e1 (Type -> Type))) (These e2) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Associated Types

type Morphing ('Into ('This Maybe)) (These e2) :: Type -> Type Source #

Morphable ('Into ('That Maybe :: These (Type -> Type) a1) :: Morph (These (Type -> Type) a1)) (Flip These a2) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Associated Types

type Morphing ('Into ('That Maybe)) (Flip These a2) :: Type -> Type Source #

(Semigroup e, Semigroup a) => Semigroup (These e a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.These

Methods

(+) :: These e a -> These e a -> These e a Source #

Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (These e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.These

Methods

(<-|-) :: (a -> b) -> These e a -> These e b Source #

(<-|--) :: (a -> b) -> These e a -> These e b Source #

(<-|---) :: (a -> b) -> These e a -> These e b Source #

(<-|----) :: (a -> b) -> These e a -> These e b Source #

(<-|-----) :: (a -> b) -> These e a -> These e b Source #

(<-|------) :: (a -> b) -> These e a -> These e b Source #

(<-|-------) :: (a -> b) -> These e a -> These e b Source #

(<-|--------) :: (a -> b) -> These e a -> These e b Source #

(<-|-|-) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) (These e)) => (a -> b) -> These e (u a) -> These e (u b) Source #

(<-|-|--) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) (These e)) => (a -> b) -> These e (u a) -> These e (u b) Source #

(<-|-|---) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) (These e)) => (a -> b) -> These e (u a) -> These e (u b) Source #

(<-|-|----) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) (These e)) => (a -> b) -> These e (u a) -> These e (u b) Source #

(<-|-|-----) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) (These e)) => (a -> b) -> These e (u a) -> These e (u b) Source #

(<-|-|------) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) (These e)) => (a -> b) -> These e (u a) -> These e (u b) Source #

(<-|-|-------) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) (These e)) => (a -> b) -> These e (u a) -> These e (u b) Source #

(<-|-|-|-) :: (Covariant (->) (Betwixt (->) (Betwixt (->) (->))) v, Covariant (Betwixt (->) (Betwixt (->) (->))) (Betwixt (Betwixt (->) (->)) (->)) u, Covariant (Betwixt (Betwixt (->) (->)) (->)) (->) (These e)) => (a -> b) -> These e (u (v a)) -> These e (u (v b)) Source #

Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (These e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.These

Methods

(<<-) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (Straight (->)) (:*:) (:*:) u) => (a -> u b) -> These e a -> u (These e b) Source #

(<<-------) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (Straight (->)) (:*:) (:*:) u) => (a -> u b) -> These e a -> u (These e b) Source #

(<<------) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (Straight (->)) (:*:) (:*:) u) => (a -> u b) -> These e a -> u (These e b) Source #

(<<-----) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (Straight (->)) (:*:) (:*:) u) => (a -> u b) -> These e a -> u (These e b) Source #

(<<----) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (Straight (->)) (:*:) (:*:) u) => (a -> u b) -> These e a -> u (These e b) Source #

(<<---) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (Straight (->)) (:*:) (:*:) u) => (a -> u b) -> These e a -> u (These e b) Source #

(<<--) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (Straight (->)) (:*:) (:*:) u) => (a -> u b) -> These e a -> u (These e b) Source #

type Morphing ('Into ('This Maybe :: These e1 (Type -> Type)) :: Morph (These e1 (Type -> Type))) (These e2) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Morphing ('Into ('This Maybe :: These e1 (Type -> Type)) :: Morph (These e1 (Type -> Type))) (These e2) = Maybe
type Morphing ('Into ('That Maybe :: These (Type -> Type) a1) :: Morph (These (Type -> Type) a1)) (Flip These a2) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Morphing ('Into ('That Maybe :: These (Type -> Type) a1) :: Morph (These (Type -> Type) a1)) (Flip These a2) = Maybe

these :: (a -> r) -> (e -> r) -> (e -> a -> r) -> These e a -> r Source #