-- 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.1.2
-- | Type classes for returning failures.
module Control.Failure
class Monad f => Failure e f
failure :: Failure e f => e -> f v
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, Failure (Error f) f') => f a -> f' a
data NothingException
NothingException :: NothingException
data NullException
NullException :: NullException
instance Typeable StringException
instance Typeable NothingException
instance Typeable NullException
instance Show NothingException
instance Show NullException
instance Try []
instance Exception NullException
instance Try (Either e)
instance Try Maybe
instance Exception NothingException
instance Exception e => Failure e IO
instance Failure e (Either e)
instance Failure e []
instance Failure e Maybe
instance Exception StringException
instance Show StringException
instance Exception e => WrapFailure e IO