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

Pandora.Paradigm.Primary.Functor.Wye

Documentation

data Wye a Source #

Constructors

End 
Left a 
Right a 
Both a a 

Instances

Instances details
(forall a. Chain a) => Insertable Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Methods

insert :: a -> Binary a -> Binary a Source #

Covariant Wye Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.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 #

Traversable Wye Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.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 #

(forall a. Chain a) => Insertable (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

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

Defined in Pandora.Paradigm.Structure

Associated Types

type Substructural 'Left Delta a Source #

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

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Substructural 'Left Binary a Source #

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

Defined in Pandora.Paradigm.Structure

Associated Types

type Substructural 'Right Delta a Source #

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

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Substructural 'Right Binary a Source #

(forall a. Chain a) => Focusable ('Root :: Type -> Location Type) Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Focusing 'Root Binary a Source #

Substructure ('Left :: Type -> Wye Type) (Product s) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Associated Types

type Substructural 'Left (Product s) a Source #

Substructure ('Left :: Type -> Wye Type) t => Substructure ('Left :: Type -> Wye Type) (Tap (t <:.> u)) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Associated Types

type Substructural 'Left (Tap (t <:.> u)) a Source #

Methods

substructure :: Tagged 'Left (Tap (t <:.> u) a) :-. Substructural 'Left (Tap (t <:.> u)) a Source #

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

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Substructural 'Left (Construction Wye) a Source #

Substructure ('Right :: Type -> Wye Type) (Product s) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Associated Types

type Substructural 'Right (Product s) a Source #

Substructure ('Right :: Type -> Wye Type) t => Substructure ('Right :: Type -> Wye Type) (Tap (t <:.> u)) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Associated Types

type Substructural 'Right (Tap (t <:.> u)) a Source #

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

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Substructural 'Right (Construction Wye) a Source #

Focusable ('Root :: Type -> Location Type) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Focusing 'Root (Construction Wye) a Source #

Rotatable ('Right ('Zig :: a -> Splay a) :: Wye (a -> Splay a)) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Associated Types

type Rotational ('Right 'Zig) (Construction Wye) a Source #

Rotatable ('Left ('Zig :: a -> Splay a) :: Wye (a -> Splay a)) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Associated Types

type Rotational ('Left 'Zig) (Construction Wye) a Source #

Rotatable ('Right ('Zig ('Zag :: a -> Splay a)) :: Wye (Splay (a -> Splay a))) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Associated Types

type Rotational ('Right ('Zig 'Zag)) (Construction Wye) a Source #

Rotatable ('Left ('Zig ('Zag :: a -> Splay a)) :: Wye (Splay (a -> Splay a))) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Associated Types

type Rotational ('Left ('Zig 'Zag)) (Construction Wye) a Source #

Rotatable ('Right ('Zig ('Zig :: a -> Splay a)) :: Wye (Splay (a -> Splay a))) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Associated Types

type Rotational ('Right ('Zig 'Zig)) (Construction Wye) a Source #

Rotatable ('Left ('Zig ('Zig :: a -> Splay a)) :: Wye (Splay (a -> Splay a))) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Associated Types

type Rotational ('Left ('Zig 'Zig)) (Construction Wye) a Source #

Rotatable ('Right :: a -> Wye a) (Tap (Delta <:.> Stream)) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stream

Associated Types

type Rotational 'Right (Tap (Delta <:.> Stream)) a Source #

Rotatable ('Left :: a -> Wye a) (Tap (Delta <:.> Stream)) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stream

Associated Types

type Rotational 'Left (Tap (Delta <:.> Stream)) a Source #

Interpreted (Kan ('Left :: Type -> Wye Type) t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

Associated Types

type Primary (Kan 'Left t u b) a Source #

Methods

run :: Kan 'Left t u b a -> Primary (Kan 'Left t u b) a Source #

Interpreted (Kan ('Right :: Type -> Wye Type) t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

Associated Types

type Primary (Kan 'Right t u b) a Source #

Methods

run :: Kan 'Right t u b a -> Primary (Kan 'Right t u b) a Source #

Contravariant (Kan ('Left :: Type -> Wye Type) t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

Methods

(>$<) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

contramap :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

(>$) :: b0 -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

($<) :: Kan 'Left t u b b0 -> b0 -> Kan 'Left t u b a Source #

full :: Kan 'Left t u b () -> Kan 'Left t u b a Source #

(>&<) :: Kan 'Left t u b b0 -> (a -> b0) -> Kan 'Left t u b a Source #

(>$$<) :: Contravariant u0 => (a -> b0) -> ((Kan 'Left t u b :. u0) := a) -> (Kan 'Left t u b :. u0) := b0 Source #

(>$$$<) :: (Contravariant u0, Contravariant v) => (a -> b0) -> ((Kan 'Left t u b :. (u0 :. v)) := b0) -> (Kan 'Left t u b :. (u0 :. v)) := a Source #

(>$$$$<) :: (Contravariant u0, Contravariant v, Contravariant w) => (a -> b0) -> ((Kan 'Left t u b :. (u0 :. (v :. w))) := a) -> (Kan 'Left t u b :. (u0 :. (v :. w))) := b0 Source #

(>&&<) :: Contravariant u0 => ((Kan 'Left t u b :. u0) := a) -> (a -> b0) -> (Kan 'Left t u b :. u0) := b0 Source #

(>&&&<) :: (Contravariant u0, Contravariant v) => ((Kan 'Left t u b :. (u0 :. v)) := b0) -> (a -> b0) -> (Kan 'Left t u b :. (u0 :. v)) := a Source #

(>&&&&<) :: (Contravariant u0, Contravariant v, Contravariant w) => ((Kan 'Left t u b :. (u0 :. (v :. w))) := a) -> (a -> b0) -> (Kan 'Left t u b :. (u0 :. (v :. w))) := b0 Source #

Covariant (Kan ('Right :: Type -> Wye Type) t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

Methods

(<$>) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #

comap :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #

(<$) :: a -> Kan 'Right t u b b0 -> Kan 'Right t u b a Source #

($>) :: Kan 'Right t u b a -> b0 -> Kan 'Right t u b b0 Source #

void :: Kan 'Right t u b a -> Kan 'Right t u b () Source #

loeb :: Kan 'Right t u b (a <-| Kan 'Right t u b) -> Kan 'Right t u b a Source #

(<&>) :: Kan 'Right t u b a -> (a -> b0) -> Kan 'Right t u b b0 Source #

(<$$>) :: Covariant u0 => (a -> b0) -> ((Kan 'Right t u b :. u0) := a) -> (Kan 'Right t u b :. u0) := b0 Source #

(<$$$>) :: (Covariant u0, Covariant v) => (a -> b0) -> ((Kan 'Right t u b :. (u0 :. v)) := a) -> (Kan 'Right t u b :. (u0 :. v)) := b0 Source #

(<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b0) -> ((Kan 'Right t u b :. (u0 :. (v :. w))) := a) -> (Kan 'Right t u b :. (u0 :. (v :. w))) := b0 Source #

(<&&>) :: Covariant u0 => ((Kan 'Right t u b :. u0) := a) -> (a -> b0) -> (Kan 'Right t u b :. u0) := b0 Source #

(<&&&>) :: (Covariant u0, Covariant v) => ((Kan 'Right t u b :. (u0 :. v)) := a) -> (a -> b0) -> (Kan 'Right t u b :. (u0 :. v)) := b0 Source #

(<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((Kan 'Right t u b :. (u0 :. (v :. w))) := a) -> (a -> b0) -> (Kan 'Right t u b :. (u0 :. (v :. w))) := b0 Source #

type Nonempty Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

data Kan ('Left :: Type -> Wye Type) t u b a Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

data Kan ('Left :: Type -> Wye Type) t u b a = Lan ((t b -> a) -> u b)
data Kan ('Right :: Type -> Wye Type) t u b a Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

data Kan ('Right :: Type -> Wye Type) t u b a = Ran ((a -> t b) -> u b)
type Substructural ('Left :: Type -> Wye Type) Delta a Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Substructural ('Left :: Type -> Wye Type) Delta a = a
type Substructural ('Left :: Type -> Wye Type) Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Substructural ('Left :: Type -> Wye Type) Binary a = Binary a
type Substructural ('Right :: Type -> Wye Type) Delta a Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Substructural ('Right :: Type -> Wye Type) Delta a = a
type Substructural ('Right :: Type -> Wye Type) Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Substructural ('Right :: Type -> Wye Type) Binary a = Binary a
type Focusing ('Root :: Type -> Location Type) Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Focusing ('Root :: Type -> Location Type) Binary a = Maybe a
type Substructural ('Left :: Type -> Wye Type) (Product s) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Substructural ('Left :: Type -> Wye Type) (Product s) a = s
type Substructural ('Left :: Type -> Wye Type) (Tap (t <:.> u)) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Substructural ('Left :: Type -> Wye Type) (Tap (t <:.> u)) a = Substructural ('Left :: Type -> Wye Type) t (u a)
type Substructural ('Left :: Type -> Wye Type) (Construction Wye) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Substructural ('Left :: Type -> Wye Type) (Construction Wye) a = (Maybe :. Construction Wye) := a
type Substructural ('Right :: Type -> Wye Type) (Product s) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Substructural ('Right :: Type -> Wye Type) (Product s) a = a
type Substructural ('Right :: Type -> Wye Type) (Tap (t <:.> u)) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Substructural ('Right :: Type -> Wye Type) (Tap (t <:.> u)) a = Substructural ('Right :: Type -> Wye Type) t (u a)
type Substructural ('Right :: Type -> Wye Type) (Construction Wye) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Substructural ('Right :: Type -> Wye Type) (Construction Wye) a = (Maybe :. Construction Wye) := a
type Focusing ('Root :: Type -> Location Type) (Construction Wye) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Focusing ('Root :: Type -> Location Type) (Construction Wye) a = a
type Rotational ('Right ('Zig :: a1 -> Splay a1) :: Wye (a1 -> Splay a1)) (Construction Wye) a2 Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

type Rotational ('Right ('Zig :: a1 -> Splay a1) :: Wye (a1 -> Splay a1)) (Construction Wye) a2 = Maybe (Construction Wye a2)
type Rotational ('Left ('Zig :: a1 -> Splay a1) :: Wye (a1 -> Splay a1)) (Construction Wye) a2 Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

type Rotational ('Left ('Zig :: a1 -> Splay a1) :: Wye (a1 -> Splay a1)) (Construction Wye) a2 = Maybe (Construction Wye a2)
type Rotational ('Right ('Zig ('Zag :: a1 -> Splay a1)) :: Wye (Splay (a1 -> Splay a1))) (Construction Wye) a2 Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

type Rotational ('Right ('Zig ('Zag :: a1 -> Splay a1)) :: Wye (Splay (a1 -> Splay a1))) (Construction Wye) a2 = Maybe (Construction Wye a2)
type Rotational ('Left ('Zig ('Zag :: a1 -> Splay a1)) :: Wye (Splay (a1 -> Splay a1))) (Construction Wye) a2 Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

type Rotational ('Left ('Zig ('Zag :: a1 -> Splay a1)) :: Wye (Splay (a1 -> Splay a1))) (Construction Wye) a2 = Maybe (Construction Wye a2)
type Rotational ('Right ('Zig ('Zig :: a1 -> Splay a1)) :: Wye (Splay (a1 -> Splay a1))) (Construction Wye) a2 Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

type Rotational ('Right ('Zig ('Zig :: a1 -> Splay a1)) :: Wye (Splay (a1 -> Splay a1))) (Construction Wye) a2 = Maybe (Construction Wye a2)
type Rotational ('Left ('Zig ('Zig :: a1 -> Splay a1)) :: Wye (Splay (a1 -> Splay a1))) (Construction Wye) a2 Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

type Rotational ('Left ('Zig ('Zig :: a1 -> Splay a1)) :: Wye (Splay (a1 -> Splay a1))) (Construction Wye) a2 = Maybe (Construction Wye a2)
type Rotational ('Right :: a1 -> Wye a1) (Tap (Delta <:.> Stream)) a2 Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stream

type Rotational ('Right :: a1 -> Wye a1) (Tap (Delta <:.> Stream)) a2 = Tap (Delta <:.> Stream) a2
type Rotational ('Left :: a1 -> Wye a1) (Tap (Delta <:.> Stream)) a2 Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stream

type Rotational ('Left :: a1 -> Wye a1) (Tap (Delta <:.> Stream)) a2 = Tap (Delta <:.> Stream) a2
type Primary (Kan ('Left :: Type -> Wye Type) t u b) a Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

type Primary (Kan ('Left :: Type -> Wye Type) t u b) a = (t b -> a) -> u b
type Primary (Kan ('Right :: Type -> Wye Type) t u b) a Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

type Primary (Kan ('Right :: Type -> Wye Type) t u b) a = (a -> t b) -> u b

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