pandora-0.2.2: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Controlflow.Joint.Schemes.TUV

Documentation

newtype TUV ct cu cv t u v a Source #

Constructors

TUV ((t :. (u :. v)) := a) 
Instances
Interpreted (TUV ct cu cv t u v) Source # 
Instance details

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

Associated Types

type Primary (TUV ct cu cv t u v) a :: Type Source #

Methods

unwrap :: TUV ct cu cv t u v a -> Primary (TUV ct cu cv t u v) a Source #

Covariant u => Covariant (TUV Co Co Co ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

(<$>) :: (a -> b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

comap :: (a -> b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(<$) :: a -> TUV Co Co Co ((->) s) u ((:*:) s) b -> TUV Co Co Co ((->) s) u ((:*:) s) a Source #

($>) :: TUV Co Co Co ((->) s) u ((:*:) s) a -> b -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

void :: TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) () Source #

loeb :: TUV Co Co Co ((->) s) u ((:*:) s) (a <-| TUV Co Co Co ((->) s) u ((:*:) s)) -> TUV Co Co Co ((->) s) u ((:*:) s) a Source #

(<&>) :: TUV Co Co Co ((->) s) u ((:*:) s) a -> (a -> b) -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := b Source #

(<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := b Source #

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

(<&&>) :: Covariant u0 => ((TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := a) -> (a -> b) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := b Source #

(<&&&>) :: (Covariant u0, Covariant v) => ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := a) -> (a -> b) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := b Source #

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

Bindable u => Bindable (TUV Co Co Co ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

(>>=) :: TUV Co Co Co ((->) s) u ((:*:) s) a -> (a -> TUV Co Co Co ((->) s) u ((:*:) s) b) -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(=<<) :: (a -> TUV Co Co Co ((->) s) u ((:*:) s) b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

bind :: (a -> TUV Co Co Co ((->) s) u ((:*:) s) b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

join :: ((TUV Co Co Co ((->) s) u ((:*:) s) :. TUV Co Co Co ((->) s) u ((:*:) s)) := a) -> TUV Co Co Co ((->) s) u ((:*:) s) a Source #

(>=>) :: (a -> TUV Co Co Co ((->) s) u ((:*:) s) b) -> (b -> TUV Co Co Co ((->) s) u ((:*:) s) c) -> a -> TUV Co Co Co ((->) s) u ((:*:) s) c Source #

(<=<) :: (b -> TUV Co Co Co ((->) s) u ((:*:) s) c) -> (a -> TUV Co Co Co ((->) s) u ((:*:) s) b) -> a -> TUV Co Co Co ((->) s) u ((:*:) s) c Source #

Bindable u => Applicative (TUV Co Co Co ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

(<*>) :: TUV Co Co Co ((->) s) u ((:*:) s) (a -> b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

apply :: TUV Co Co Co ((->) s) u ((:*:) s) (a -> b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(*>) :: TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(<*) :: TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b -> TUV Co Co Co ((->) s) u ((:*:) s) a Source #

forever :: TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(<**>) :: Applicative u0 => ((TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := (a -> b)) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := (a -> b)) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. (v :. w))) := (a -> b)) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. (v :. w))) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. (v :. w))) := b Source #

Pointable u => Pointable (TUV Co Co Co ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

point :: a |-> TUV Co Co Co ((->) s) u ((:*:) s) Source #

Monad u => Monad (TUV Co Co Co ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

type Primary (TUV ct cu cv t u v) a Source # 
Instance details

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

type Primary (TUV ct cu cv t u v) a = (t :. (u :. v)) := a