Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
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
Instances
Monad Maybe Source # | |
Defined in Pandora.Paradigm.Basis.Maybe | |
Monad Identity Source # | |
Defined in Pandora.Paradigm.Basis.Identity | |
Monad (Conclusion e) Source # | |
Defined in Pandora.Paradigm.Basis.Conclusion | |
(Exclusive t, Alternative t) => Monad (Cofree t) Source # | |
Defined in Pandora.Paradigm.Basis.Cofree | |
Monad t => Monad (Stateful s t) Source # | |
Defined in Pandora.Paradigm.Inventory.Stateful | |
Monad t => Monad (Continuation r t) Source # | |
Defined in Pandora.Paradigm.Basis.Continuation | |
Monad t => Monad (Environmental e t) Source # | |
Defined in Pandora.Paradigm.Inventory.Environmental | |
Monad t => Monad (Maybe :!: t) Source # | |
Defined in Pandora.Paradigm.Basis.Maybe | |
Monad t => Monad (Conclusion e :!: t) Source # | |
Defined in Pandora.Paradigm.Basis.Conclusion |