-- 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.1
-- | 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)