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

Pandora.Pattern.Functor.Monad

Synopsis

Documentation

class (Covariant t (->) (->), Pointable t (->), Bindable t (->)) => Monad t Source #

Let f :: (Pointable t, Bindable t) => a -> t a
Let g :: (Pointable t, Bindable t) => a -> t a
Let h :: (Pointable 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 Identity Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Identity

Monad Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Monad (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Proxy

Monad t => Monad (Instruction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Instruction

Monad (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Monad (State s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Monad (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Monad (Tagged tag) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Tagged

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

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

Monad t => Monad (Continuation r t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Continuation

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