-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | MaybeT monad transformer using transformers instead of mtl.
--
-- Support for computations with failures. This package is a fork from
-- the MaybeT package by Eric Kidd, changed to depend on transformers
-- instead of mtl. It also adds a few more utility functions.
@package MaybeT-transformers
@version 0.2
-- | The MaybeT monad. See
-- http://www.haskell.org/haskellwiki/New_monads/MaybeT for more
-- widely-used version. Our Functor instance and our
-- implementation of >>= are borrowed from there.
--
--
-- - Computation type: Computations which may fail or return
-- nothing.
-- - Binding strategy: Failure returns the value Nothing,
-- bypassing any bound functions which follow. Success returns a value
-- wrapped in Just.
-- - Useful for: Building computations from steps which may
-- fail. No error information is returned. (If error information is
-- required, see Control.Monad.Error.)
--
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)
-- | Lift a Maybe value to a MaybeT.
maybeT :: Monad m => Maybe a -> MaybeT m a
-- | Remove the MaybeT using a default value.
fromMaybeT :: Monad m => a -> MaybeT m a -> m a
-- | Remove the MaybeT using a monadic default value.
fromMaybeTM :: Monad m => m a -> MaybeT m a -> m 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)