pandora-0.2.8: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Controlflow.Joint.Schemes.TU

Documentation

newtype TU ct cu t u a Source #

Constructors

TU ((t :. u) := a) 
Instances
Focusable Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Associated Types

type Focus Stack a :: Type Source #

Focusable Rose Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Focus Rose a :: Type Source #

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

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Focus Binary a :: Type Source #

Semigroup (Stack a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

(+) :: Stack a -> Stack a -> Stack a Source #

Monoid (Stack a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

zero :: Stack a Source #

Setoid a => Setoid (Stack a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

(==) :: Stack a -> Stack a -> Boolean Source #

(/=) :: Stack a -> Stack a -> Boolean Source #

Focusable (Construction Stack) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Focus (Construction Stack) a :: Type Source #

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

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Substructural Left Binary a :: Type Source #

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

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Substructural Right Binary a :: Type Source #

Substructure (Just :: Type -> Maybe Type) Rose Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Substructural Just Rose a :: Type Source #

Substructure (Just :: Type -> Maybe Type) (Construction Stack) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Substructural Just (Construction Stack) a :: Type Source #

Covariant t => Hoistable (TU Covariant Covariant t :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Joint.Schemes.TU

Pointable t => Liftable (TU Covariant Covariant t :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Joint.Schemes.TU

Methods

lift :: Pointable u => u ~> TU Covariant Covariant t u Source #

Extractable t => Lowerable (TU Covariant Covariant t :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Joint.Schemes.TU

Interpreted (TU ct cu t u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Joint.Schemes.TU

Associated Types

type Primary (TU ct cu t u) a :: Type Source #

Methods

run :: TU ct cu t u a -> Primary (TU ct cu t u) a Source #

Covariant u => Covariant (TU Covariant Covariant ((->) e :: Type -> Type) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

(<$>) :: (a -> b) -> TU Covariant Covariant ((->) e) u a -> TU Covariant Covariant ((->) e) u b Source #

comap :: (a -> b) -> TU Covariant Covariant ((->) e) u a -> TU Covariant Covariant ((->) e) u b Source #

(<$) :: a -> TU Covariant Covariant ((->) e) u b -> TU Covariant Covariant ((->) e) u a Source #

($>) :: TU Covariant Covariant ((->) e) u a -> b -> TU Covariant Covariant ((->) e) u b Source #

void :: TU Covariant Covariant ((->) e) u a -> TU Covariant Covariant ((->) e) u () Source #

loeb :: TU Covariant Covariant ((->) e) u (a <-| TU Covariant Covariant ((->) e) u) -> TU Covariant Covariant ((->) e) u a Source #

(<&>) :: TU Covariant Covariant ((->) e) u a -> (a -> b) -> TU Covariant Covariant ((->) e) u b Source #

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

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

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

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

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

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

(Covariant t, Covariant u) => Covariant (TU Covariant Covariant u (Construction t)) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(<$>) :: (a -> b) -> TU Covariant Covariant u (Construction t) a -> TU Covariant Covariant u (Construction t) b Source #

comap :: (a -> b) -> TU Covariant Covariant u (Construction t) a -> TU Covariant Covariant u (Construction t) b Source #

(<$) :: a -> TU Covariant Covariant u (Construction t) b -> TU Covariant Covariant u (Construction t) a Source #

($>) :: TU Covariant Covariant u (Construction t) a -> b -> TU Covariant Covariant u (Construction t) b Source #

void :: TU Covariant Covariant u (Construction t) a -> TU Covariant Covariant u (Construction t) () Source #

loeb :: TU Covariant Covariant u (Construction t) (a <-| TU Covariant Covariant u (Construction t)) -> TU Covariant Covariant u (Construction t) a Source #

(<&>) :: TU Covariant Covariant u (Construction t) a -> (a -> b) -> TU Covariant Covariant u (Construction t) b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((TU Covariant Covariant u (Construction t) :. u0) := a) -> (TU Covariant Covariant u (Construction t) :. u0) := b Source #

(<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((TU Covariant Covariant u (Construction t) :. (u0 :. v)) := a) -> (TU Covariant Covariant u (Construction t) :. (u0 :. v)) := b Source #

(<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((TU Covariant Covariant u (Construction t) :. (u0 :. (v :. w))) := a) -> (TU Covariant Covariant u (Construction t) :. (u0 :. (v :. w))) := b Source #

(<&&>) :: Covariant u0 => ((TU Covariant Covariant u (Construction t) :. u0) := a) -> (a -> b) -> (TU Covariant Covariant u (Construction t) :. u0) := b Source #

(<&&&>) :: (Covariant u0, Covariant v) => ((TU Covariant Covariant u (Construction t) :. (u0 :. v)) := a) -> (a -> b) -> (TU Covariant Covariant u (Construction t) :. (u0 :. v)) := b Source #

(<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((TU Covariant Covariant u (Construction t) :. (u0 :. (v :. w))) := a) -> (a -> b) -> (TU Covariant Covariant u (Construction t) :. (u0 :. (v :. w))) := b Source #

Covariant u => Covariant (TU Covariant Covariant ((:*:) e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Equipment

Methods

(<$>) :: (a -> b) -> TU Covariant Covariant ((:*:) e) u a -> TU Covariant Covariant ((:*:) e) u b Source #

comap :: (a -> b) -> TU Covariant Covariant ((:*:) e) u a -> TU Covariant Covariant ((:*:) e) u b Source #

(<$) :: a -> TU Covariant Covariant ((:*:) e) u b -> TU Covariant Covariant ((:*:) e) u a Source #

($>) :: TU Covariant Covariant ((:*:) e) u a -> b -> TU Covariant Covariant ((:*:) e) u b Source #

void :: TU Covariant Covariant ((:*:) e) u a -> TU Covariant Covariant ((:*:) e) u () Source #

loeb :: TU Covariant Covariant ((:*:) e) u (a <-| TU Covariant Covariant ((:*:) e) u) -> TU Covariant Covariant ((:*:) e) u a Source #

(<&>) :: TU Covariant Covariant ((:*:) e) u a -> (a -> b) -> TU Covariant Covariant ((:*:) e) u b Source #

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

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

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

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

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

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

Bindable u => Bindable (TU Covariant Covariant ((->) e :: Type -> Type) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

(>>=) :: TU Covariant Covariant ((->) e) u a -> (a -> TU Covariant Covariant ((->) e) u b) -> TU Covariant Covariant ((->) e) u b Source #

(=<<) :: (a -> TU Covariant Covariant ((->) e) u b) -> TU Covariant Covariant ((->) e) u a -> TU Covariant Covariant ((->) e) u b Source #

bind :: (a -> TU Covariant Covariant ((->) e) u b) -> TU Covariant Covariant ((->) e) u a -> TU Covariant Covariant ((->) e) u b Source #

join :: ((TU Covariant Covariant ((->) e) u :. TU Covariant Covariant ((->) e) u) := a) -> TU Covariant Covariant ((->) e) u a Source #

(>=>) :: (a -> TU Covariant Covariant ((->) e) u b) -> (b -> TU Covariant Covariant ((->) e) u c) -> a -> TU Covariant Covariant ((->) e) u c Source #

(<=<) :: (b -> TU Covariant Covariant ((->) e) u c) -> (a -> TU Covariant Covariant ((->) e) u b) -> a -> TU Covariant Covariant ((->) e) u c Source #

($>>=) :: Covariant u0 => (a -> TU Covariant Covariant ((->) e) u b) -> ((u0 :. TU Covariant Covariant ((->) e) u) := a) -> (u0 :. TU Covariant Covariant ((->) e) u) := b Source #

(>>=$) :: (TU Covariant Covariant ((->) e) u b -> c) -> (a -> TU Covariant Covariant ((->) e) u b) -> TU Covariant Covariant ((->) e) u a -> c Source #

Applicative u => Applicative (TU Covariant Covariant ((->) e :: Type -> Type) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

(<*>) :: TU Covariant Covariant ((->) e) u (a -> b) -> TU Covariant Covariant ((->) e) u a -> TU Covariant Covariant ((->) e) u b Source #

apply :: TU Covariant Covariant ((->) e) u (a -> b) -> TU Covariant Covariant ((->) e) u a -> TU Covariant Covariant ((->) e) u b Source #

(*>) :: TU Covariant Covariant ((->) e) u a -> TU Covariant Covariant ((->) e) u b -> TU Covariant Covariant ((->) e) u b Source #

(<*) :: TU Covariant Covariant ((->) e) u a -> TU Covariant Covariant ((->) e) u b -> TU Covariant Covariant ((->) e) u a Source #

forever :: TU Covariant Covariant ((->) e) u a -> TU Covariant Covariant ((->) e) u b Source #

(<**>) :: Applicative u0 => ((TU Covariant Covariant ((->) e) u :. u0) := (a -> b)) -> ((TU Covariant Covariant ((->) e) u :. u0) := a) -> (TU Covariant Covariant ((->) e) u :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((TU Covariant Covariant ((->) e) u :. (u0 :. v)) := (a -> b)) -> ((TU Covariant Covariant ((->) e) u :. (u0 :. v)) := a) -> (TU Covariant Covariant ((->) e) u :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((TU Covariant Covariant ((->) e) u :. (u0 :. (v :. w))) := (a -> b)) -> ((TU Covariant Covariant ((->) e) u :. (u0 :. (v :. w))) := a) -> (TU Covariant Covariant ((->) e) u :. (u0 :. (v :. w))) := b Source #

(Applicative t, Applicative u) => Applicative (TU Covariant Covariant u (Construction t)) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(<*>) :: TU Covariant Covariant u (Construction t) (a -> b) -> TU Covariant Covariant u (Construction t) a -> TU Covariant Covariant u (Construction t) b Source #

apply :: TU Covariant Covariant u (Construction t) (a -> b) -> TU Covariant Covariant u (Construction t) a -> TU Covariant Covariant u (Construction t) b Source #

(*>) :: TU Covariant Covariant u (Construction t) a -> TU Covariant Covariant u (Construction t) b -> TU Covariant Covariant u (Construction t) b Source #

(<*) :: TU Covariant Covariant u (Construction t) a -> TU Covariant Covariant u (Construction t) b -> TU Covariant Covariant u (Construction t) a Source #

forever :: TU Covariant Covariant u (Construction t) a -> TU Covariant Covariant u (Construction t) b Source #

(<**>) :: Applicative u0 => ((TU Covariant Covariant u (Construction t) :. u0) := (a -> b)) -> ((TU Covariant Covariant u (Construction t) :. u0) := a) -> (TU Covariant Covariant u (Construction t) :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((TU Covariant Covariant u (Construction t) :. (u0 :. v)) := (a -> b)) -> ((TU Covariant Covariant u (Construction t) :. (u0 :. v)) := a) -> (TU Covariant Covariant u (Construction t) :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((TU Covariant Covariant u (Construction t) :. (u0 :. (v :. w))) := (a -> b)) -> ((TU Covariant Covariant u (Construction t) :. (u0 :. (v :. w))) := a) -> (TU Covariant Covariant u (Construction t) :. (u0 :. (v :. w))) := b Source #

(Covariant t, Alternative u) => Alternative (TU Covariant Covariant u (Construction t)) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

(Covariant t, Avoidable u) => Avoidable (TU Covariant Covariant u (Construction t)) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Extendable u => Extendable (TU Covariant Covariant ((:*:) e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Equipment

(Covariant u, Pointable u) => Pointable (TU Covariant Covariant ((->) e :: Type -> Type) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

point :: a |-> TU Covariant Covariant ((->) e) u Source #

(Avoidable t, Pointable u) => Pointable (TU Covariant Covariant u (Construction t)) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

(Traversable t, Traversable u) => Traversable (TU Covariant Covariant u (Construction t)) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(->>) :: (Pointable u0, Applicative u0) => TU Covariant Covariant u (Construction t) a -> (a -> u0 b) -> (u0 :. TU Covariant Covariant u (Construction t)) := b Source #

traverse :: (Pointable u0, Applicative u0) => (a -> u0 b) -> TU Covariant Covariant u (Construction t) a -> (u0 :. TU Covariant Covariant u (Construction t)) := b Source #

sequence :: (Pointable u0, Applicative u0) => ((TU Covariant Covariant u (Construction t) :. u0) := a) -> (u0 :. TU Covariant Covariant u (Construction t)) := a Source #

(->>>) :: (Pointable u0, Applicative u0, Traversable v) => ((v :. TU Covariant Covariant u (Construction t)) := a) -> (a -> u0 b) -> (u0 :. (v :. TU Covariant Covariant u (Construction t))) := b Source #

(->>>>) :: (Pointable u0, Applicative u0, Traversable v, Traversable w) => ((w :. (v :. TU Covariant Covariant u (Construction t))) := a) -> (a -> u0 b) -> (u0 :. (w :. (v :. TU Covariant Covariant u (Construction t)))) := b Source #

(->>>>>) :: (Pointable u0, Applicative u0, Traversable v, Traversable w, Traversable j) => ((j :. (w :. (v :. TU Covariant Covariant u (Construction t)))) := a) -> (a -> u0 b) -> (u0 :. (j :. (w :. (v :. TU Covariant Covariant u (Construction t))))) := b Source #

Extractable u => Extractable (TU Covariant Covariant ((:*:) e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Equipment

(Covariant (UT Covariant Covariant t v), Covariant (TU Covariant Covariant w u), Adjoint v u, Adjoint t w) => Adjoint (UT Covariant Covariant t v) (TU Covariant Covariant w u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Joint.Schemes

Methods

(-|) :: a -> (UT Covariant Covariant t v a -> b) -> TU Covariant Covariant w u b Source #

(|-) :: UT Covariant Covariant t v a -> (a -> TU Covariant Covariant w u b) -> b Source #

phi :: (UT Covariant Covariant t v a -> b) -> a -> TU Covariant Covariant w u b Source #

psi :: (a -> TU Covariant Covariant w u b) -> UT Covariant Covariant t v a -> b Source #

eta :: a -> (TU Covariant Covariant w u :. UT Covariant Covariant t v) := a Source #

epsilon :: ((UT Covariant Covariant t v :. TU Covariant Covariant w u) := a) -> a Source #

(Covariant (TU Covariant Covariant v t), Covariant (UT Covariant Covariant w u), Adjoint t u, Adjoint v w) => Adjoint (TU Covariant Covariant v t) (UT Covariant Covariant w u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Joint.Schemes

Methods

(-|) :: a -> (TU Covariant Covariant v t a -> b) -> UT Covariant Covariant w u b Source #

(|-) :: TU Covariant Covariant v t a -> (a -> UT Covariant Covariant w u b) -> b Source #

phi :: (TU Covariant Covariant v t a -> b) -> a -> UT Covariant Covariant w u b Source #

psi :: (a -> UT Covariant Covariant w u b) -> TU Covariant Covariant v t a -> b Source #

eta :: a -> (UT Covariant Covariant w u :. TU Covariant Covariant v t) := a Source #

epsilon :: ((TU Covariant Covariant v t :. UT Covariant Covariant w u) := a) -> a Source #

(Covariant (TU Covariant Covariant v t), Covariant (TU Covariant Covariant u w), Adjoint t u, Adjoint v w) => Adjoint (TU Covariant Covariant v t) (TU Covariant Covariant u w) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Joint.Schemes

Methods

(-|) :: a -> (TU Covariant Covariant v t a -> b) -> TU Covariant Covariant u w b Source #

(|-) :: TU Covariant Covariant v t a -> (a -> TU Covariant Covariant u w b) -> b Source #

phi :: (TU Covariant Covariant v t a -> b) -> a -> TU Covariant Covariant u w b Source #

psi :: (a -> TU Covariant Covariant u w b) -> TU Covariant Covariant v t a -> b Source #

eta :: a -> (TU Covariant Covariant u w :. TU Covariant Covariant v t) := a Source #

epsilon :: ((TU Covariant Covariant v t :. TU Covariant Covariant u w) := a) -> a Source #

type Nonempty Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

type Nonempty Rose Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Nonempty Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Focus Stack a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

type Focus Stack a = Maybe a
type Focus Rose a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Focus Rose a = Maybe a
type Focus Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Focus Binary a = Maybe a
type Focus (Construction Stack) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Focus (Construction Stack) 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) Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Substructural (Right :: Type -> Wye Type) Binary a = Binary a
type Substructural (Just :: Type -> Maybe Type) Rose a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Substructural (Just :: Type -> Maybe Type) Rose a = (Stack :. Construction Stack) := a
type Substructural (Just :: Type -> Maybe Type) (Construction Stack) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Primary (TU ct cu t u) a Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Joint.Schemes.TU

type Primary (TU ct cu t u) a = (t :. u) := a