pandora-0.2.6: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Basis.Wye

Documentation

data Wye a Source #

Constructors

End 
Left a 
Right a 
Both a a 
Instances
Covariant Wye Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Wye

Methods

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

comap :: (a -> b) -> Wye a -> Wye b Source #

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

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

void :: Wye a -> Wye () Source #

loeb :: Wye (a <-| Wye) -> Wye a Source #

(<&>) :: Wye a -> (a -> b) -> Wye b Source #

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

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

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

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

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

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

Covariant Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Methods

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

comap :: (a -> b) -> Binary a -> Binary b Source #

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

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

void :: Binary a -> Binary () Source #

loeb :: Binary (a <-| Binary) -> Binary a Source #

(<&>) :: Binary a -> (a -> b) -> Binary b Source #

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

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

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

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

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

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

Pointable Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Methods

point :: a |-> Binary Source #

Traversable Wye Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Wye

Methods

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

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

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

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

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

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

Traversable Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Methods

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

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

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

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

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

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

Substructure (Left :: Type -> Wye Type) Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Output Left Binary a = (r :: Type) Source #

Substructure (Right :: Type -> Wye Type) Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Output Right Binary a = (r :: Type) Source #

Substructure (Left :: Type -> Wye Type) (Twister Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Output Left (Twister Wye) a = (r :: Type) Source #

Substructure (Right :: Type -> Wye Type) (Twister Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Output Right (Twister Wye) a = (r :: Type) Source #

type Nonempty Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Output (Left :: Type -> Wye Type) Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Output (Left :: Type -> Wye Type) Binary a = (Left :: (Any :: Type) -> Wye (Any :: Type)) :# Binary a
type Output (Right :: Type -> Wye Type) Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Output (Right :: Type -> Wye Type) Binary a = (Right :: (Any :: Type) -> Wye (Any :: Type)) :# Binary a
type Output (Left :: Type -> Wye Type) (Twister Wye) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Output (Left :: Type -> Wye Type) (Twister Wye) a = Maybe ((Left :: (Any :: Type) -> Wye (Any :: Type)) :# Twister Wye a)
type Output (Right :: Type -> Wye Type) (Twister Wye) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Output (Right :: Type -> Wye Type) (Twister Wye) a = Maybe ((Right :: (Any :: Type) -> Wye (Any :: Type)) :# Twister Wye a)

wye :: r -> (a -> r) -> (a -> r) -> (a -> a -> r) -> Wye a -> r Source #