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

Pandora.Pattern.Functor.Monad

Synopsis

Documentation

class (Covariant category category t, Monoidal (Straight category) category (:*:) (:*:) t, Bindable category t) => Monad category t Source #

Let f :: (Monoidal t (->) (->) (:*:) (:*:), Bindable t) => a -> t a
Let g :: (Monoidal t (->) (->) (:*:) (:*:), Bindable t) => a -> t a
Let h :: (Monoidal t (->) (->) (:*:) (:*:), Bindable t) => t a
When providing a new instance, you should ensure it satisfies:
* Left identity: point a >>= f ≡ f a
* Right identity: h >>= point ≡ h
* Associativity: h >>= (f >=> g) ≡ (h >>= f) >>= g

Instances

Instances details
Monad ((->) :: Type -> Type -> Type) Identity Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Identity

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

Defined in Pandora.Paradigm.Primary.Transformer.Instruction

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

Defined in Pandora.Paradigm.Inventory.State

Monad ((->) :: Type -> Type -> Type) (Tagged tag) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Tagged

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Schematic Monad t u), Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) (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

type Schematic Monad Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

type Schematic Monad (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

type Schematic Monad (State s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

type Schematic Monad (State s) = ((->) s :: Type -> Type) <:<.>:> (:*:) s
type Schematic Monad (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

type Schematic Monad (Environment e) = (<:.>) ((->) e :: Type -> Type)
type Schematic Monad (Accumulator e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Accumulator