-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | MaybeT monad transformer
--   
--   Support for computations with failures.
@package MaybeT
@version 0.1.2


-- | The <a>MaybeT</a> monad. See
--   <a>http://www.haskell.org/haskellwiki/New_monads/MaybeT</a> for more
--   widely-used version. Our <a>Functor</a> instance and our
--   implementation of <a>&gt;&gt;=</a> are borrowed from there.
--   
--   <ul>
--   <li><i>Computation type:</i> Computations which may fail or return
--   nothing.</li>
--   <li><i>Binding strategy:</i> Failure returns the value <a>Nothing</a>,
--   bypassing any bound functions which follow. Success returns a value
--   wrapped in <a>Just</a>.</li>
--   <li><i>Useful for:</i> Building computations from steps which may
--   fail. No error information is returned. (If error information is
--   required, see <a>Error</a>.)</li>
--   </ul>
module Control.Monad.Maybe

-- | A monad transformer which adds Maybe semantics to an existing monad.
newtype MaybeT m a
MaybeT :: m (Maybe a) -> MaybeT m a
runMaybeT :: MaybeT m a -> m (Maybe a)
instance MonadWriter w m => MonadWriter w (MaybeT m)
instance MonadState s m => MonadState s (MaybeT m)
instance MonadReader r m => MonadReader r (MaybeT m)
instance MonadFix m => MonadFix (MaybeT m)
instance MonadIO m => MonadIO (MaybeT m)
instance MonadCont m => MonadCont (MaybeT m)
instance MonadTrans MaybeT
instance Monad m => MonadPlus (MaybeT m)
instance Monad m => Monad (MaybeT m)
instance Functor m => Functor (MaybeT m)
