pandora-0.4.1: 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 #

(forall i. Covariant (Flip v i), Bivariant v) => Bivariant (Flip v) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Flip

Methods

(<->) :: (forall i. Covariant (Flip v i)) => (a -> b) -> (c -> d) -> Flip v a c -> Flip v b d Source #

bimap :: (forall i. Covariant (Flip v i)) => (a -> b) -> (c -> d) -> Flip v a c -> Flip v b d 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 #

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

Defined in Pandora.Paradigm.Primary

Methods

extract :: a0 <:= Flip (:*:) a Source #

Interpreted (Flip v a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Flip

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 Substructural 'Left (Flip Product a2) :: Type -> Type 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.Flip

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

Defined in Pandora.Paradigm.Structure

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