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

Pandora.Paradigm.Primary.Functor.Wedge

Documentation

data Wedge e a Source #

Constructors

Nowhere 
Here e 
There a 

Instances

Instances details
Covariant (Wedge e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Wedge

Methods

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

comap :: (a -> b) -> Wedge e a -> Wedge e b Source #

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

($>) :: Wedge e a -> b -> Wedge e b Source #

void :: Wedge e a -> Wedge e () Source #

loeb :: Wedge e (a <:= Wedge e) -> Wedge e a Source #

(<&>) :: Wedge e a -> (a -> b) -> Wedge e b Source #

(<$$>) :: Covariant u => (a -> b) -> ((Wedge e :. u) := a) -> (Wedge e :. u) := b Source #

(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> ((Wedge e :. (u :. v)) := a) -> (Wedge e :. (u :. v)) := b Source #

(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> ((Wedge e :. (u :. (v :. w))) := a) -> (Wedge e :. (u :. (v :. w))) := b Source #

(<&&>) :: Covariant u => ((Wedge e :. u) := a) -> (a -> b) -> (Wedge e :. u) := b Source #

(<&&&>) :: (Covariant u, Covariant v) => ((Wedge e :. (u :. v)) := a) -> (a -> b) -> (Wedge e :. (u :. v)) := b Source #

(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => ((Wedge e :. (u :. (v :. w))) := a) -> (a -> b) -> (Wedge e :. (u :. (v :. w))) := b Source #

Pointable (Wedge e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Wedge

Methods

point :: a :=> Wedge e Source #

pass :: Wedge e () Source #

Traversable (Wedge e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Wedge

Methods

(->>) :: (Pointable u, Applicative u) => Wedge e a -> (a -> u b) -> (u :. Wedge e) := b Source #

traverse :: (Pointable u, Applicative u) => (a -> u b) -> Wedge e a -> (u :. Wedge e) := b Source #

sequence :: (Pointable u, Applicative u) => ((Wedge e :. u) := a) -> (u :. Wedge e) := a Source #

(->>>) :: (Pointable u, Applicative u, Traversable v) => ((v :. Wedge e) := a) -> (a -> u b) -> (u :. (v :. Wedge e)) := b Source #

(->>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w) => ((w :. (v :. Wedge e)) := a) -> (a -> u b) -> (u :. (w :. (v :. Wedge e))) := b Source #

(->>>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w, Traversable j) => ((j :. (w :. (v :. Wedge e))) := a) -> (a -> u b) -> (u :. (j :. (w :. (v :. Wedge e)))) := b Source #

Morphable ('Into ('There Maybe :: Wedge e1 (Type -> Type)) :: Morph (Wedge e1 (Type -> Type))) (Wedge e2) Source # 
Instance details

Defined in Pandora.Paradigm.Primary

Associated Types

type Morphing ('Into ('There Maybe)) (Wedge e2) :: 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 #

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

Defined in Pandora.Paradigm.Primary

type Morphing ('Into ('There Maybe :: Wedge e1 (Type -> Type)) :: Morph (Wedge e1 (Type -> Type))) (Wedge e2) = Maybe
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

wedge :: (e -> r) -> (a -> r) -> r -> Wedge e a -> r Source #