pandora-0.4.3: 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
Category (Flip ((->) :: Type -> Type -> Type)) Source # 
Instance details

Defined in Pandora.Paradigm.Primary

Methods

identity :: Flip (->) a a Source #

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

($) :: Flip (->) (Flip (->) a b) (Flip (->) a b) Source #

(#) :: Flip (->) (Flip (->) a b) (Flip (->) 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 #

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

Defined in Pandora.Paradigm.Primary

Methods

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

contramap :: (a -> b) -> Flip (->) r b -> Flip (->) r a Source #

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

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

full :: Flip (->) r () -> Flip (->) r a Source #

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

(>$$<) :: Contravariant u => (a -> b) -> ((Flip (->) r :. u) := a) -> (Flip (->) r :. u) := b Source #

(>$$$<) :: (Contravariant u, Contravariant v) => (a -> b) -> ((Flip (->) r :. (u :. v)) := b) -> (Flip (->) r :. (u :. v)) := a Source #

(>$$$$<) :: (Contravariant u, Contravariant v, Contravariant w) => (a -> b) -> ((Flip (->) r :. (u :. (v :. w))) := a) -> (Flip (->) r :. (u :. (v :. w))) := b Source #

(>&&<) :: Contravariant u => ((Flip (->) r :. u) := a) -> (a -> b) -> (Flip (->) r :. u) := b Source #

(>&&&<) :: (Contravariant u, Contravariant v) => ((Flip (->) r :. (u :. v)) := b) -> (a -> b) -> (Flip (->) r :. (u :. v)) := a Source #

(>&&&&<) :: (Contravariant u, Contravariant v, Contravariant w) => ((Flip (->) r :. (u :. (v :. w))) := a) -> (a -> b) -> (Flip (->) r :. (u :. (v :. w))) := b Source #

Covariant (Flip (:*:) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary

Methods

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

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

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

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

void :: Flip (:*:) a a0 -> Flip (:*:) a () Source #

loeb :: Flip (:*:) a (a0 <:= Flip (:*:) a) -> Flip (:*:) a a0 Source #

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

(<$$>) :: Covariant u => (a0 -> b) -> ((Flip (:*:) a :. u) := a0) -> (Flip (:*:) a :. u) := b Source #

(<$$$>) :: (Covariant u, Covariant v) => (a0 -> b) -> ((Flip (:*:) a :. (u :. v)) := a0) -> (Flip (:*:) a :. (u :. v)) := b Source #

(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a0 -> b) -> ((Flip (:*:) a :. (u :. (v :. w))) := a0) -> (Flip (:*:) a :. (u :. (v :. w))) := b Source #

(<&&>) :: Covariant u => ((Flip (:*:) a :. u) := a0) -> (a0 -> b) -> (Flip (:*:) a :. u) := b Source #

(<&&&>) :: (Covariant u, Covariant v) => ((Flip (:*:) a :. (u :. v)) := a0) -> (a0 -> b) -> (Flip (:*:) a :. (u :. v)) := b Source #

(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => ((Flip (:*:) a :. (u :. (v :. w))) := a0) -> (a0 -> b) -> (Flip (:*:) a :. (u :. (v :. w))) := b Source #

(.#..) :: (Flip (:*:) a ~ v a0, Category v) => v c d -> ((v a0 :. v b) := c) -> (v a0 :. v b) := d Source #

(.#...) :: (Flip (:*:) a ~ v a0, Flip (:*:) a ~ v b, Category v, Covariant (v a0), Covariant (v b)) => v d e -> ((v a0 :. (v b :. v c)) := d) -> (v a0 :. (v b :. v c)) := e Source #

(.#....) :: (Flip (:*:) a ~ v a0, Flip (:*:) a ~ v b, Flip (:*:) a ~ v c, Category v, Covariant (v a0), Covariant (v b), Covariant (v c)) => v e f -> ((v a0 :. (v b :. (v c :. v d))) := e) -> (v a0 :. (v b :. (v c :. v d))) := f Source #

(<$$) :: Covariant u => b -> ((Flip (:*:) a :. u) := a0) -> (Flip (:*:) a :. u) := b Source #

(<$$$) :: (Covariant u, Covariant v) => b -> ((Flip (:*:) a :. (u :. v)) := a0) -> (Flip (:*:) a :. (u :. v)) := b Source #

(<$$$$) :: (Covariant u, Covariant v, Covariant w) => b -> ((Flip (:*:) a :. (u :. (v :. w))) := a0) -> (Flip (:*:) a :. (u :. (v :. w))) := b Source #

($$>) :: Covariant u => ((Flip (:*:) a :. u) := a0) -> b -> (Flip (:*:) a :. u) := b Source #

($$$>) :: (Covariant u, Covariant v) => ((Flip (:*:) a :. (u :. v)) := a0) -> b -> (Flip (:*:) a :. (u :. v)) := b Source #

($$$$>) :: (Covariant u, Covariant v, Covariant w) => ((Flip (:*:) a :. (u :. (v :. w))) := a0) -> b -> (Flip (:*:) a :. (u :. (v :. w))) := b 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 Product a2) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Associated Types

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

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

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

Defined in Pandora.Paradigm.Primary

Methods

extract :: Flip (:*:) a a0 -> a0 Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Function

Methods

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

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

Defined in Pandora.Paradigm.Primary.Functor.Product

Methods

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

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

Defined in Pandora.Paradigm.Primary.Functor.Validation

Methods

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

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

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

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

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

Defined in Pandora.Paradigm.Primary

Methods

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

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

phi :: (Flip Product s a -> b) -> a -> s -> b Source #

psi :: (a -> s -> b) -> Flip Product s a -> b Source #

eta :: a -> ((->) s :. Flip Product s) := a Source #

epsilon :: ((Flip Product s :. (->) s) := a) -> a Source #

(-|$) :: Covariant v => v a -> (Flip Product s a -> b) -> v (s -> b) Source #

($|-) :: Covariant v => v (Flip Product s a) -> (a -> s -> b) -> v b Source #

($$|-) :: (Covariant v, Covariant w) => ((v :. (w :. Flip Product s)) := a) -> (a -> s -> b) -> (v :. w) := b Source #

($$$|-) :: (Covariant v, Covariant w, Covariant x) => ((v :. (w :. (x :. Flip Product s))) := a) -> (a -> s -> b) -> (v :. (w :. x)) := b Source #

($$$$|-) :: (Covariant v, Covariant w, Covariant x, Covariant y) => ((v :. (w :. (x :. (y :. Flip Product s)))) := a) -> (a -> s -> b) -> (v :. (w :. (x :. y))) := 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 Product a2) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

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

Defined in Pandora.Paradigm.Structure

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