-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A simple type class for success/failure computations.
--
-- A simple type class for success/failure computations.
@package failure
@version 0.0.0.2
-- | Type classes for returning failures.
module Control.Failure
class Failure e f
failure :: (Failure e f) => e -> f v
class (Functor f, Failure e f) => FunctorFailure e f
class (Applicative f, Failure e f) => ApplicativeFailure e f
class (Monad f, Applicative f, Failure e f) => MonadFailure e f
class (Failure e f) => WrapFailure e f
wrapFailure :: (WrapFailure e f) => (forall eIn. (Exception eIn) => eIn -> e) -> f a -> f a
newtype StringException
StringException :: String -> StringException
-- | Call failure with a String.
failureString :: (Failure StringException m) => String -> m a
class Try f where { type family Error f; }
try :: (Try f, ApplicativeFailure (Error f) f') => f a -> f' a
data NothingException
NothingException :: NothingException
data NullException
NullException :: NullException
instance Typeable NullException
instance Typeable NothingException
instance Typeable StringException
instance Show NullException
instance Show NothingException
instance Try []
instance Exception NullException
instance Try (Either e)
instance Try Maybe
instance Exception NothingException
instance Failure e (Either e)
instance (Exception e) => Failure e IO
instance Failure e []
instance Failure e Maybe
instance Exception StringException
instance Show StringException
instance (Exception e) => WrapFailure e IO
instance MonadFailure e DummyMonad
instance ApplicativeFailure e DummyMonad
instance FunctorFailure e DummyMonad
instance Failure e DummyMonad
instance Monad DummyMonad
instance Applicative DummyMonad
instance Functor DummyMonad
instance (Monad f, Applicative f, Failure e f) => MonadFailure e f
instance (Applicative f, Failure e f) => ApplicativeFailure e f
instance (Functor f, Failure e f) => FunctorFailure e f