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

Pandora.Paradigm.Primary.Transformer.Flip

Documentation

newtype Flip (v :: * -> * -> *) a e Source #

Constructors

Flip (v e a) 

Instances

Instances details
Semigroupoid (<--) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic.Exponential

Methods

(.) :: (b <-- c) -> (a <-- b) -> a <-- c Source #

Category (<--) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic.Exponential

Methods

identity :: a <-- a Source #

($) :: (a <-- b) <-- (a <-- b) Source #

(#) :: (a <-- b) <-- (a <-- b) Source #

Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) Identity Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Identity

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- Identity a Source #

Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) ((:*:) s) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- (s :*: a) Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Semimonoidal (<--) (:*:) (:*:) t) => Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- Construction t a Source #

Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Store s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Store

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- Store s a Source #

Semimonoidal (<--) (:*:) (:*:) t => Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Tap t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- Tap t a Source #

Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Flip (:*:) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a0) <-- Flip (:*:) a a0 Source #

Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Tagged tag) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Tagged

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- Tagged tag a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) t) => Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Backwards t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- Backwards t a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) t) => Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- Reverse t a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, Semimonoidal (<--) (:*:) (:*:) t, Semimonoidal (<--) (:*:) (:*:) t', Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) u, Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t t') => Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) ((t <:<.>:> t') := u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TUT

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- ((t <:<.>:> t') := u) a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) t, Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) u) => Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) (t <.:> u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.UT

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- (t <.:> u) a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) t, Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) u) => Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) (t <:.> u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TU

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- (t <:.> u) a Source #

Semimonoidal (<--) (:*:) (:*:) Wye Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Wye

Methods

multiply :: forall (a :: k) (b :: k). (Wye a :*: Wye b) <-- Wye (a :*: b) Source #

Semimonoidal (<--) (:*:) (:*:) Identity Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Identity

Methods

multiply :: forall (a :: k) (b :: k). (Identity a :*: Identity b) <-- Identity (a :*: b) Source #

Semimonoidal (<--) (:*:) (:*:) Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

multiply :: forall (a :: k) (b :: k). (Maybe a :*: Maybe b) <-- Maybe (a :*: b) Source #

Semimonoidal (<--) (:*:) (:*:) ((:*:) s :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic

Methods

multiply :: forall (a :: k) (b :: k). ((s :*: a) :*: (s :*: b)) <-- (s :*: (a :*: b)) Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Semimonoidal (<--) (:*:) (:*:) t) => Semimonoidal (<--) (:*:) (:*:) (Construction t :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

multiply :: forall (a :: k) (b :: k). (Construction t a :*: Construction t b) <-- Construction t (a :*: b) Source #

Semimonoidal (<--) (:*:) (:*:) (Store s :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Store

Methods

multiply :: forall (a :: k) (b :: k). (Store s a :*: Store s b) <-- Store s (a :*: b) Source #

Semimonoidal (<--) (:*:) (:*:) t => Semimonoidal (<--) (:*:) (:*:) (Tap t :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

multiply :: forall (a :: k) (b :: k). (Tap t a :*: Tap t b) <-- Tap t (a :*: b) Source #

Semimonoidal (<--) (:*:) (:*:) (Flip (:*:) a :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic

Methods

multiply :: forall (a0 :: k) (b :: k). (Flip (:*:) a a0 :*: Flip (:*:) a b) <-- Flip (:*:) a (a0 :*: b) Source #

Semimonoidal (<--) (:*:) (:*:) (Tagged tag :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Tagged

Methods

multiply :: forall (a :: k) (b :: k). (Tagged tag a :*: Tagged tag b) <-- Tagged tag (a :*: b) Source #

(Semimonoidal (<--) (:*:) (:*:) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t) => Semimonoidal (<--) (:*:) (:*:) (Backwards t :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

multiply :: forall (a :: k) (b :: k). (Backwards t a :*: Backwards t b) <-- Backwards t (a :*: b) Source #

(Semimonoidal (<--) (:*:) (:*:) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t) => Semimonoidal (<--) (:*:) (:*:) (Reverse t :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

multiply :: forall (a :: k) (b :: k). (Reverse t a :*: Reverse t b) <-- Reverse t (a :*: b) Source #

Semimonoidal (<--) (:*:) (:*:) ((->) e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic

Methods

multiply :: forall (a :: k) (b :: k). ((e -> a) :*: (e -> b)) <-- (e -> (a :*: b)) Source #

(Semimonoidal (<--) (:*:) (:*:) t, Semimonoidal (<--) (:*:) (:*:) u) => Semimonoidal (<--) (:*:) (:*:) ((t <:.:> u) := (:*:) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic.Product

Methods

multiply :: forall (a :: k) (b :: k). (((t <:.:> u) := (:*:)) a :*: ((t <:.:> u) := (:*:)) b) <-- ((t <:.:> u) := (:*:)) (a :*: b) Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Semimonoidal (<--) (:*:) (:*:) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, Semimonoidal (<--) (:*:) (:*:) u, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t', Semimonoidal (<--) (:*:) (:*:) t') => Semimonoidal (<--) (:*:) (:*:) ((t <:<.>:> t') := u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TUT

Methods

multiply :: forall (a :: k) (b :: k). (((t <:<.>:> t') := u) a :*: ((t <:<.>:> t') := u) b) <-- ((t <:<.>:> t') := u) (a :*: b) Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, Semimonoidal (<--) (:*:) (:*:) t, Semimonoidal (<--) (:*:) (:*:) u) => Semimonoidal (<--) (:*:) (:*:) (t <.:> u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.UT

Methods

multiply :: forall (a :: k) (b :: k). ((t <.:> u) a :*: (t <.:> u) b) <-- (t <.:> u) (a :*: b) Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Semimonoidal (<--) (:*:) (:*:) t, Semimonoidal (<--) (:*:) (:*:) u) => Semimonoidal (<--) (:*:) (:*:) (t <:.> u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TU

Methods

multiply :: forall (a :: k) (b :: k). ((t <:.> u) a :*: (t <:.> u) b) <-- (t <:.> u) (a :*: b) Source #

Morphable ('Into (Flip Conclusion e) :: Morph (Type -> Type)) Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary

Associated Types

type Morphing ('Into (Flip Conclusion e)) Maybe :: Type -> Type Source #

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

Defined in Pandora.Paradigm.Primary

Associated Types

type Morphing ('Into ('Here Maybe)) (Flip Wedge a2) :: 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.Primary

Associated Types

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

Invariant (Flip Store r) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Store

Methods

(<$<) :: (a -> b) -> (b -> a) -> Flip Store r a -> Flip Store r b Source #

invmap :: (a -> b) -> (b -> a) -> Flip Store r a -> Flip Store r b Source #

Invariant (Flip (Lens available) tgt) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Optics

Methods

(<$<) :: (a -> b) -> (b -> a) -> Flip (Lens available) tgt a -> Flip (Lens available) tgt b Source #

invmap :: (a -> b) -> (b -> a) -> Flip (Lens available) tgt a -> Flip (Lens available) tgt b Source #

Invariant (Flip State r) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

(<$<) :: (a -> b) -> (b -> a) -> Flip State r a -> Flip State r b Source #

invmap :: (a -> b) -> (b -> a) -> Flip State r a -> Flip State r b Source #

Interpreted (Flip v a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer

Associated Types

type Primary (Flip v a) a Source #

Methods

run :: Flip v a a0 -> Primary (Flip v a) a0 Source #

unite :: Primary (Flip v a) a0 -> Flip v a a0 Source #

(||=) :: Interpreted u => (Primary (Flip v a) a0 -> Primary u b) -> Flip v a a0 -> u b Source #

(=||) :: Interpreted u => (Flip v a a0 -> u b) -> Primary (Flip v a) a0 -> Primary u b Source #

(<$||=) :: (Covariant (->) (->) j, Interpreted u) => (Primary (Flip v a) a0 -> Primary u b) -> (j := Flip v a a0) -> j := u b Source #

(<$$||=) :: (Covariant (->) (->) j, Covariant (->) (->) k, Interpreted u) => (Primary (Flip v a) a0 -> Primary u b) -> ((j :. k) := Flip v a a0) -> (j :. k) := u b Source #

(<$$$||=) :: (Covariant (->) (->) j, Covariant (->) (->) k, Covariant (->) (->) l, Interpreted u) => (Primary (Flip v a) a0 -> Primary u b) -> ((j :. (k :. l)) := Flip v a a0) -> (j :. (k :. l)) := u b Source #

(<$$$$||=) :: (Covariant (->) (->) j, Covariant (->) (->) k, Covariant (->) (->) l, Covariant (->) (->) m, Interpreted u) => (Primary (Flip v a) a0 -> Primary u b) -> ((j :. (k :. (l :. m))) := Flip v a a0) -> (j :. (k :. (l :. m))) := u b Source #

(=||$>) :: (Covariant (->) (->) j, Interpreted u) => (Flip v a a0 -> u b) -> (j := Primary (Flip v a) a0) -> j := Primary u b Source #

(=||$$>) :: (Covariant (->) (->) j, Covariant (->) (->) k, Interpreted u) => (Flip v a a0 -> u b) -> ((j :. k) := Primary (Flip v a) a0) -> (j :. k) := Primary u b Source #

(=||$$$>) :: (Covariant (->) (->) j, Covariant (->) (->) k, Covariant (->) (->) l, Interpreted u) => (Flip v a a0 -> u b) -> ((j :. (k :. l)) := Primary (Flip v a) a0) -> (j :. (k :. l)) := Primary u b Source #

(=||$$$$>) :: (Covariant (->) (->) j, Covariant (->) (->) k, Covariant (->) (->) l, Covariant (->) (->) m, Interpreted u) => (Flip v a a0 -> u b) -> ((j :. (k :. (l :. m))) := Primary (Flip v a) a0) -> (j :. (k :. (l :. m))) := Primary u b Source #

Substructure ('Left :: a1 -> Wye a1) (Flip (:*:) a2) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Associated Types

type Available 'Left (Flip (:*:) a2) :: Type -> Type Source #

type Substance 'Left (Flip (:*:) a2) :: Type -> Type Source #

Contravariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((<--) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic.Exponential

Methods

(->$<-) :: (a0 -> b) -> (a <-- b) -> (a <-- a0) Source #

Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Flip (Constant :: Type -> Type -> Type) b) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Constant

Methods

(-<$>-) :: (a -> b0) -> Flip Constant b a -> Flip Constant b b0 Source #

Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Flip (:+:) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic.Sum

Methods

(-<$>-) :: (a0 -> b) -> Flip (:+:) a a0 -> Flip (:+:) a b Source #

Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Flip (:*:) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic.Product

Methods

(-<$>-) :: (a0 -> b) -> Flip (:*:) a a0 -> Flip (:*:) a b Source #

Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Flip Validation a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Validation

Methods

(-<$>-) :: (a0 -> b) -> Flip Validation a a0 -> Flip Validation a b Source #

Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Flip (Tagged :: Type -> Type -> Type) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Tagged

Methods

(-<$>-) :: (a0 -> b) -> Flip Tagged a a0 -> Flip Tagged a b Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

(-<$>-) :: (a -> b) -> Flip Conclusion e a -> Flip Conclusion e b Source #

Contravariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Flip Imprint a) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Imprint

Methods

(->$<-) :: (a0 -> b) -> Flip Imprint a b -> Flip Imprint a a0 Source #

Contravariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Flip Environment a) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

(->$<-) :: (a0 -> b) -> Flip Environment a b -> Flip Environment a a0 Source #

Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Flip (:*:) s) ((->) s :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary

Methods

(-|) :: (Flip (:*:) s a -> b) -> a -> (s -> b) Source #

(|-) :: (a -> (s -> b)) -> Flip (:*:) s a -> b Source #

type Morphing ('Into (Flip Conclusion e) :: Morph (Type -> Type)) Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary

type Morphing ('Into (Flip Conclusion e) :: Morph (Type -> Type)) Maybe = ((->) e :: Type -> Type) <:.> Flip Conclusion e
type Morphing ('Into ('Here Maybe :: Wedge (Type -> Type) a1) :: Morph (Wedge (Type -> Type) a1)) (Flip Wedge a2) Source # 
Instance details

Defined in Pandora.Paradigm.Primary

type Morphing ('Into ('Here Maybe :: Wedge (Type -> Type) a1) :: Morph (Wedge (Type -> Type) a1)) (Flip Wedge a2) = 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.Primary

type Morphing ('Into ('That Maybe :: These (Type -> Type) a1) :: Morph (These (Type -> Type) a1)) (Flip These a2) = Maybe
type Primary (Flip v a) e Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer

type Primary (Flip v a) e = v e a
type Available ('Left :: a1 -> Wye a1) (Flip (:*:) a2) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Available ('Left :: a1 -> Wye a1) (Flip (:*:) a2) = Identity
type Substance ('Left :: a1 -> Wye a1) (Flip (:*:) a2) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Substance ('Left :: a1 -> Wye a1) (Flip (:*:) a2) = Identity