morphisms-functors-0.1.7: Functors, theirs compositions and transformations

Safe HaskellSafe
LanguageHaskell2010

Control.Functor.Covariant.Composition.Monad

Synopsis

Documentation

class (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 the three laws:
* Left identity: point a >>= f ≡ f a
* Right identity: h >>= point ≡ h
* Associativity: h >>= (\x -> f x >>= g) ≡ (h >>= f) >>= g