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

Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Documentation

class Interpreted m t => Monadic m t where Source #

Methods

wrap :: Pointable u => m (t a) ((t :> u) a) Source #

Instances

Instances details
Monadic ((->) :: Type -> Type -> Type) Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

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

Monadic ((->) :: Type -> Type -> Type) (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

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

Monadic ((->) :: Type -> Type -> Type) (State s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

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

Monadic ((->) :: Type -> Type -> Type) (Provision e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Provision

Methods

wrap :: forall (u :: Type -> Type) a. Pointable u => Provision e a -> (Provision e :> u) a Source #

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

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

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

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

Constructors

TM 

Fields

Instances

Instances details
Monoidal (-->) (-->) (:*:) (:*:) (Schematic Monad t u) => Monoidal (-->) (-->) (:*:) (:*:) (t :> u) Source # 
Instance details

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

Methods

unit :: Proxy (:*:) -> (Unit (:*:) --> a) --> (t :> u) a Source #

Semimonoidal (-->) (:*:) (:+:) (Schematic Monad t u) => Semimonoidal (-->) (:*:) (:+:) (t :> u :: Type -> Type) Source # 
Instance details

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

Methods

mult :: forall (a :: k) (b :: k). ((t :> u) a :*: (t :> u) b) --> (t :> u) (a :+: b) Source #

Semimonoidal (-->) (:*:) (:*:) (Schematic Monad t u) => Semimonoidal (-->) (:*:) (:*:) (t :> u :: Type -> Type) Source # 
Instance details

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

Methods

mult :: forall (a :: k) (b :: k). ((t :> u) a :*: (t :> u) b) --> (t :> u) (a :*: b) Source #

Effectful m v t u => Adaptable (t :> u :: Type -> Type) (m :: k -> Type -> Type) (v :: Type -> k) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: forall (a :: k0). m (v a) ((t :> u) a) Source #

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

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

Methods

(/|\) :: Covariant (->) (->) u => (forall a. u a -> v a) -> forall (a :: k). (t :> u) a -> (t :> v) a Source #

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

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

Methods

lift :: Covariant (->) (->) u => u a -> (t :> u) a Source #

Extendable ((->) :: Type -> Type -> Type) (Schematic Monad t u) => Extendable ((->) :: Type -> Type -> Type) (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 #

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

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

Methods

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

Interpreted ((->) :: Type -> Type -> Type) (Schematic Monad t u) => Interpreted ((->) :: Type -> Type -> Type) (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 #

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

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

(||=) :: (Semigroupoid (->), Interpreted (->) u0) => (Primary (t :> u) a -> Primary u0 b) -> (t :> u) a -> u0 b Source #

(=||) :: (Semigroupoid (->), Interpreted (->) u0) => ((t :> u) a -> u0 b) -> Primary (t :> u) a -> Primary u0 b Source #

(<$||=) :: (Semigroupoid (->), Covariant (->) (->) j, Interpreted (->) u0) => (Primary (t :> u) a -> Primary u0 b) -> (j := (t :> u) a) -> (j := u0 b) Source #

(=||$>) :: (Covariant (->) (->) j, Interpreted (->) u0) => ((t :> u) a -> u0 b) -> (j := Primary (t :> u) a) -> (j := Primary u0 b) Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Schematic Monad t u), Monoidal (-->) (-->) (:*:) (:*:) (Schematic Monad t u), Bindable ((->) :: Type -> Type -> Type) (t :> u)) => Monad ((->) :: Type -> Type -> Type) (t :> u) Source # 
Instance details

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

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

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

Methods

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

(<-|-|-) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) (t :> u)) => (a -> b) -> (t :> u) (u0 a) -> (t :> u) (u0 b) Source #

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

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

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

Methods

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

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

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

Methods

(<<-) :: (Covariant (->) (->) u0, Monoidal (Straight (->)) (Straight (->)) (:*:) (:*:) u0) => (a -> u0 b) -> (t :> u) a -> u0 ((t :> u) b) 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