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

Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Documentation

class Interpreted t => Monadic t where Source #

Methods

wrap :: Pointable u => t ~> (t :> u) Source #

Instances

Instances details
Monadic Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

wrap :: forall (u :: Type -> Type). Pointable u => Maybe ~> (Maybe :> u) Source #

Monadic (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

wrap :: forall (u :: Type -> Type). Pointable u => Conclusion e ~> (Conclusion e :> u) Source #

Monadic (State s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

wrap :: forall (u :: Type -> Type). Pointable u => State s ~> (State s :> u) Source #

Monadic (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

wrap :: forall (u :: Type -> Type). Pointable u => Environment e ~> (Environment e :> u) Source #

Monoid e => Monadic (Accumulator e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

wrap :: forall (u :: Type -> Type). Pointable u => Accumulator e ~> (Accumulator e :> u) Source #

newtype (t :> u) a infixr 3 Source #

Constructors

TM 

Fields

Instances

Instances details
Liftable (Schematic Monad t) => Liftable ((:>) t) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

lift :: forall (u :: Type -> Type). Covariant u => u ~> (t :> u) Source #

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> (z :> (f :> h))))))), Lifting u (Schematic Monad v (w :> (x :> (y :> (z :> (f :> h)))))), Lifting v (Schematic Monad w (x :> (y :> (z :> (f :> h))))), Lifting w (Schematic Monad x (y :> (z :> (f :> h)))), Lifting x (Schematic Monad y (z :> (f :> h))), Lifting y (Schematic Monad z (f :> h)), Lifting z (Schematic Monad f h), Wrappable f h) => Adaptable (f :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h))))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: f ~> (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))) Source #

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> (z :> (f :> h))))))), Lifting u (Schematic Monad v (w :> (x :> (y :> (z :> (f :> h)))))), Lifting v (Schematic Monad w (x :> (y :> (z :> (f :> h))))), Lifting w (Schematic Monad x (y :> (z :> (f :> h)))), Lifting x (Schematic Monad y (z :> (f :> h))), Lifting y (Schematic Monad z (f :> h)), Lifting z (Schematic Monad f h), Lifting f h) => Adaptable (h :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h))))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: h ~> (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))) Source #

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> (z :> f)))))), Lifting u (Schematic Monad v (w :> (x :> (y :> (z :> f))))), Lifting v (Schematic Monad w (x :> (y :> (z :> f)))), Lifting w (Schematic Monad x (y :> (z :> f))), Lifting x (Schematic Monad y (z :> f)), Lifting y (Schematic Monad z f), Wrappable z f) => Adaptable (z :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> (z :> f)))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: z ~> (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))) Source #

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> (z :> f)))))), Lifting u (Schematic Monad v (w :> (x :> (y :> (z :> f))))), Lifting v (Schematic Monad w (x :> (y :> (z :> f)))), Lifting w (Schematic Monad x (y :> (z :> f))), Lifting x (Schematic Monad y (z :> f)), Lifting y (Schematic Monad z f), Lifting z f) => Adaptable (f :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> (z :> f)))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: f ~> (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))) Source #

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> z)))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> z))))), Lifting u (Schematic Monad v (w :> (x :> (y :> z)))), Lifting v (Schematic Monad w (x :> (y :> z))), Lifting w (Schematic Monad x (y :> z)), Lifting x (Schematic Monad y z), Wrappable y z) => Adaptable (y :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> z))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: y ~> (t :> (u :> (v :> (w :> (x :> (y :> z)))))) Source #

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> z)))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> z))))), Lifting u (Schematic Monad v (w :> (x :> (y :> z)))), Lifting v (Schematic Monad w (x :> (y :> z))), Lifting w (Schematic Monad x (y :> z)), Lifting x (Schematic Monad y z), Lifting y z) => Adaptable (z :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> z))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: z ~> (t :> (u :> (v :> (w :> (x :> (y :> z)))))) Source #

(Covariant (t :> (u :> (v :> (w :> (x :> y))))), Lifting t (Schematic Monad u (v :> (w :> (x :> y)))), Lifting u (Schematic Monad v (w :> (x :> y))), Lifting v (Schematic Monad w (x :> y)), Lifting w (Schematic Monad x y), Wrappable x y) => Adaptable (x :: Type -> Type) (t :> (u :> (v :> (w :> (x :> y)))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: x ~> (t :> (u :> (v :> (w :> (x :> y))))) Source #

(Covariant (t :> (u :> (v :> (w :> (x :> y))))), Lifting t (Schematic Monad u (v :> (w :> (x :> y)))), Lifting u (Schematic Monad v (w :> (x :> y))), Lifting v (Schematic Monad w (x :> y)), Lifting w (Schematic Monad x y), Lifting x y) => Adaptable (y :: Type -> Type) (t :> (u :> (v :> (w :> (x :> y)))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: y ~> (t :> (u :> (v :> (w :> (x :> y))))) Source #

(Covariant (t :> (u :> (v :> (w :> x)))), Lifting t (Schematic Monad u (v :> (w :> x))), Lifting u (Schematic Monad v (w :> x)), Lifting v (Schematic Monad w x), Wrappable w x) => Adaptable (w :: Type -> Type) (t :> (u :> (v :> (w :> x))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: w ~> (t :> (u :> (v :> (w :> x)))) Source #

(Covariant (t :> (u :> (v :> (w :> x)))), Lifting t (Schematic Monad u (v :> (w :> x))), Lifting u (Schematic Monad v (w :> x)), Lifting v (Schematic Monad w x), Lifting w x) => Adaptable (x :: Type -> Type) (t :> (u :> (v :> (w :> x))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: x ~> (t :> (u :> (v :> (w :> x)))) Source #

(Covariant (t :> (u :> (v :> w))), Lifting t (Schematic Monad u v), Lifting t (Schematic Monad u (v :> w)), Lifting u (Schematic Monad v w), Lifting v w) => Adaptable (w :: Type -> Type) (t :> (u :> (v :> w)) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: w ~> (t :> (u :> (v :> w))) Source #

(Covariant (t :> (u :> (v :> w))), Liftable (Schematic Monad t), Lifting t (Schematic Monad u (v :> w)), Lifting u (Schematic Monad v w), Wrappable v w) => Adaptable (v :: Type -> Type) (t :> (u :> (v :> w)) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: v ~> (t :> (u :> (v :> w))) Source #

(Covariant (t :> (u :> v)), Lifting t (Schematic Monad u v), Lifting u v) => Adaptable (v :: Type -> Type) (t :> (u :> v) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: v ~> (t :> (u :> v)) Source #

(Covariant (t :> (u :> v)), Liftable (Schematic Monad t), Covariant (Schematic Monad u v), Wrappable u v) => Adaptable (u :: Type -> Type) (t :> (u :> v) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: u ~> (t :> (u :> v)) Source #

(Covariant (t :> u), Wrappable t u) => Adaptable (t :: Type -> Type) (t :> u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: t ~> (t :> u) Source #

(Covariant (t :> u), Lifting t u) => Adaptable (u :: Type -> Type) (t :> u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: u ~> (t :> u) Source #

Hoistable (Schematic Monad t) => Hoistable ((:>) t :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

hoist :: forall (u :: Type -> Type) (v :: Type -> Type). Covariant u => (u ~> v) -> (t :> u) ~> (t :> v) Source #

(Covariant u, Covariant v, Covariant w, Covariant x, Covariant y, Covariant z, Covariant f, Covariant h, Covariant (Schematic Monad u v), Covariant (Schematic Monad u (v :> w)), Covariant (Schematic Monad u (v :> (w :> x))), Covariant (Schematic Monad u (v :> (w :> (x :> y)))), Covariant (Schematic Monad u (v :> (w :> (x :> (y :> z))))), Covariant (Schematic Monad u (v :> (w :> (x :> (y :> (z :> f)))))), Covariant (Schematic Monad u (v :> (w :> (x :> (y :> (z :> (f :> h))))))), Covariant (Schematic Monad v (w :> x)), Covariant (Schematic Monad v (w :> (x :> y))), Covariant (Schematic Monad v (w :> (x :> (y :> z)))), Covariant (Schematic Monad v (w :> (x :> (y :> (z :> f))))), Covariant (Schematic Monad v (w :> (x :> (y :> (z :> (f :> h)))))), Covariant (Schematic Monad w (x :> y)), Covariant (Schematic Monad w (x :> (y :> z))), Covariant (Schematic Monad w (x :> (y :> (z :> f)))), Covariant (Schematic Monad w (x :> (y :> (z :> (f :> h))))), Covariant (Schematic Monad x y), Covariant (Schematic Monad x (y :> z)), Covariant (Schematic Monad x (y :> (z :> f))), Covariant (Schematic Monad x (y :> (z :> (f :> h)))), Covariant (Schematic Monad y z), Covariant (Schematic Monad y (z :> f)), Covariant (Schematic Monad y (z :> (f :> h))), Covariant (Schematic Monad z f), Covariant (Schematic Monad z (f :> h)), Covariant (Schematic Monad f h), Hoistable ((:>) (t :> (u :> (v :> w)))), Hoistable (Schematic Monad t), Hoistable (Schematic Monad u), Hoistable (Schematic Monad v), Hoistable (Schematic Monad w), Hoistable (Schematic Monad x), Hoistable (Schematic Monad y), Hoistable (Schematic Monad z), Hoistable (Schematic Monad f), Adaptable h h') => Adaptable (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h))))))) :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h'))))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))) ~> (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h')))))))) Source #

(Covariant u, Covariant v, Covariant w, Covariant x, Covariant y, Covariant z, Covariant f, Covariant (Schematic Monad u v), Covariant (Schematic Monad u (v :> w)), Covariant (Schematic Monad u (v :> (w :> x))), Covariant (Schematic Monad u (v :> (w :> (x :> y)))), Covariant (Schematic Monad u (v :> (w :> (x :> (y :> z))))), Covariant (Schematic Monad u (v :> (w :> (x :> (y :> (z :> f)))))), Covariant (Schematic Monad v (w :> x)), Covariant (Schematic Monad v (w :> (x :> y))), Covariant (Schematic Monad v (w :> (x :> (y :> z)))), Covariant (Schematic Monad v (w :> (x :> (y :> (z :> f))))), Covariant (Schematic Monad w (x :> y)), Covariant (Schematic Monad w (x :> (y :> z))), Covariant (Schematic Monad w (x :> (y :> (z :> f)))), Covariant (Schematic Monad x y), Covariant (Schematic Monad x (y :> z)), Covariant (Schematic Monad x (y :> (z :> f))), Covariant (Schematic Monad y z), Covariant (Schematic Monad y (z :> f)), Covariant (Schematic Monad z f), Hoistable ((:>) (t :> (u :> (v :> w)))), Hoistable (Schematic Monad t), Hoistable (Schematic Monad u), Hoistable (Schematic Monad v), Hoistable (Schematic Monad w), Hoistable (Schematic Monad x), Hoistable (Schematic Monad y), Hoistable (Schematic Monad z), Adaptable f f') => Adaptable (t :> (u :> (v :> (w :> (x :> (y :> (z :> f)))))) :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> (z :> f')))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))) ~> (t :> (u :> (v :> (w :> (x :> (y :> (z :> f'))))))) Source #

(Covariant u, Covariant v, Covariant w, Covariant x, Covariant y, Covariant z, Covariant (Schematic Monad u v), Covariant (Schematic Monad u (v :> w)), Covariant (Schematic Monad u (v :> (w :> x))), Covariant (Schematic Monad u (v :> (w :> (x :> y)))), Covariant (Schematic Monad u (v :> (w :> (x :> (y :> z))))), Covariant (Schematic Monad v (w :> x)), Covariant (Schematic Monad v (w :> (x :> y))), Covariant (Schematic Monad v (w :> (x :> (y :> z)))), Covariant (Schematic Monad w (x :> y)), Covariant (Schematic Monad w (x :> (y :> z))), Covariant (Schematic Monad x y), Covariant (Schematic Monad x (y :> z)), Covariant (Schematic Monad y z), Hoistable ((:>) (t :> (u :> (v :> w)))), Hoistable (Schematic Monad t), Hoistable (Schematic Monad u), Hoistable (Schematic Monad v), Hoistable (Schematic Monad w), Hoistable (Schematic Monad x), Hoistable (Schematic Monad y), Adaptable z z') => Adaptable (t :> (u :> (v :> (w :> (x :> (y :> z))))) :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> z'))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: (t :> (u :> (v :> (w :> (x :> (y :> z)))))) ~> (t :> (u :> (v :> (w :> (x :> (y :> z')))))) Source #

(Covariant u, Covariant v, Covariant w, Covariant x, Covariant y, Covariant (Schematic Monad u v), Covariant (Schematic Monad u (v :> w)), Covariant (Schematic Monad u (v :> (w :> x))), Covariant (Schematic Monad u (v :> (w :> (x :> y)))), Covariant (Schematic Monad v (w :> x)), Covariant (Schematic Monad v (w :> (x :> y))), Covariant (Schematic Monad w (x :> y)), Covariant (Schematic Monad x y), Hoistable ((:>) (t :> (u :> (v :> w)))), Hoistable (Schematic Monad t), Hoistable (Schematic Monad u), Hoistable (Schematic Monad v), Hoistable (Schematic Monad w), Hoistable (Schematic Monad x), Adaptable y y') => Adaptable (t :> (u :> (v :> (w :> (x :> y)))) :: Type -> Type) (t :> (u :> (v :> (w :> (x :> y')))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: (t :> (u :> (v :> (w :> (x :> y))))) ~> (t :> (u :> (v :> (w :> (x :> y'))))) Source #

(Covariant u, Covariant v, Covariant w, Covariant x, Covariant (Schematic Monad u v), Covariant (Schematic Monad u (v :> w)), Covariant (Schematic Monad u (v :> (w :> x))), Covariant (Schematic Monad v (w :> x)), Covariant (Schematic Monad w x), Hoistable ((:>) (t :> (u :> v))), Hoistable (Schematic Monad t), Hoistable (Schematic Monad u), Hoistable (Schematic Monad v), Hoistable (Schematic Monad w), Adaptable x x') => Adaptable (t :> (u :> (v :> (w :> x))) :: Type -> Type) (t :> (u :> (v :> (w :> x'))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: (t :> (u :> (v :> (w :> x)))) ~> (t :> (u :> (v :> (w :> x')))) Source #

(Covariant u, Covariant v, Covariant w, Covariant (Schematic Monad u v), Covariant (Schematic Monad u (v :> w)), Covariant (Schematic Monad v w), Hoistable ((:>) (t :> (u :> v))), Hoistable (Schematic Monad t), Hoistable (Schematic Monad u), Hoistable (Schematic Monad v), Adaptable w w') => Adaptable (t :> (u :> (v :> w)) :: Type -> Type) (t :> (u :> (v :> w')) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: (t :> (u :> (v :> w))) ~> (t :> (u :> (v :> w'))) Source #

(Covariant u, Covariant v, Covariant (Schematic Monad u v), Hoistable ((:>) (t :> u)), Hoistable (Schematic Monad t), Hoistable (Schematic Monad u), Adaptable v v') => Adaptable (t :> (u :> v) :: Type -> Type) (t :> (u :> v') :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: (t :> (u :> v)) ~> (t :> (u :> v')) Source #

(Covariant u, Hoistable ((:>) t), Adaptable u u') => Adaptable (t :> u :: Type -> Type) (t :> u' :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: (t :> u) ~> (t :> u') Source #

Interpreted (Schematic Monad t u) => Interpreted (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Associated Types

type Primary (t :> u) a Source #

Methods

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

Covariant (Schematic Monad t u) => Covariant (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

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

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

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

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

void :: (t :> u) a -> (t :> u) () Source #

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

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

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

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

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

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

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

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

Bindable (Schematic Monad t u) => Bindable (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

(>>=) :: (t :> u) a -> (a -> (t :> u) b) -> (t :> u) b Source #

(=<<) :: (a -> (t :> u) b) -> (t :> u) a -> (t :> u) b Source #

bind :: (a -> (t :> u) b) -> (t :> u) a -> (t :> u) b Source #

join :: (((t :> u) :. (t :> u)) := a) -> (t :> u) a Source #

(>=>) :: (a -> (t :> u) b) -> (b -> (t :> u) c) -> a -> (t :> u) c Source #

(<=<) :: (b -> (t :> u) c) -> (a -> (t :> u) b) -> a -> (t :> u) c Source #

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

(<>>=) :: ((t :> u) b -> c) -> (a -> (t :> u) b) -> (t :> u) a -> c Source #

Applicative (Schematic Monad t u) => Applicative (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

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

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

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

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

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

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

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

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

Alternative (Schematic Monad t u) => Alternative (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

(<+>) :: (t :> u) a -> (t :> u) a -> (t :> u) a Source #

alter :: (t :> u) a -> (t :> u) a -> (t :> u) a Source #

Avoidable (Schematic Monad t u) => Avoidable (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

empty :: (t :> u) a Source #

Distributive (Schematic Monad t u) => Distributive (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

(>>-) :: Covariant u0 => u0 a -> (a -> (t :> u) b) -> ((t :> u) :. u0) := b Source #

collect :: Covariant u0 => (a -> (t :> u) b) -> u0 a -> ((t :> u) :. u0) := b Source #

distribute :: Covariant u0 => ((u0 :. (t :> u)) := a) -> ((t :> u) :. u0) := a Source #

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

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

(>>>>>-) :: (Covariant u0, Covariant v, Covariant w, Covariant j) => ((u0 :. (v :. (w :. j))) := a) -> (a -> (t :> u) b) -> ((t :> u) :. (u0 :. (v :. (w :. j)))) := b Source #

Extendable (Schematic Monad t u) => Extendable (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

(=>>) :: (t :> u) a -> ((t :> u) a -> b) -> (t :> u) b Source #

(<<=) :: ((t :> u) a -> b) -> (t :> u) a -> (t :> u) b Source #

extend :: ((t :> u) a -> b) -> (t :> u) a -> (t :> u) b Source #

duplicate :: (t :> u) a -> ((t :> u) :. (t :> u)) := a Source #

(=<=) :: ((t :> u) b -> c) -> ((t :> u) a -> b) -> (t :> u) a -> c Source #

(=>=) :: ((t :> u) a -> b) -> ((t :> u) b -> c) -> (t :> u) a -> c Source #

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

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

Pointable (Schematic Monad t u) => Pointable (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

point :: a |-> (t :> u) Source #

(Pointable (t :> u), Bindable (t :> u)) => Monad (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

(>>=-) :: (t :> u) a -> (t :> u) b -> (t :> u) a Source #

(->>=) :: (t :> u) a -> (t :> u) b -> (t :> u) b Source #

(-=<<) :: (t :> u) a -> (t :> u) b -> (t :> u) b Source #

(=<<-) :: (t :> u) a -> (t :> u) b -> (t :> u) a Source #

Traversable (Schematic Monad t u) => Traversable (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

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

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

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

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

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

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

Extractable (Schematic Monad t u) => Extractable (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

extract :: a <-| (t :> u) Source #

type Primary (t :> u) a Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

type Primary (t :> u) a = Primary (Schematic Monad t u) a