Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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