Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
type Monad t = (Pointable t, Bindable 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 using this constraint, 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