-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Partial functions from the prelude with a MonadFailure interface -- -- Partial functions from the base library, such as head and -- !!, modified to fail in a MonadFailure monad. These -- functions can be used to reduce the number of unsafe pattern matches -- in your code. @package safe-failure @version 0.2 -- | A library for safe functions, based on standard functions that may -- crash. -- -- This module reexports versions which produce exceptions in an -- arbitrary MonadFailure monad. module Safe.Failure head :: (MonadFailure HeadFailure m) => [a] -> m a tail :: (MonadFailure TailFailure m) => [a] -> m [a] init :: (MonadFailure InitFailure m) => [a] -> m [a] last :: (MonadFailure LastFailure m) => [a] -> m a minimum :: (Ord a, MonadFailure MinimumFailure m) => [a] -> m a maximum :: (Ord a, MonadFailure MaximumFailure m) => [a] -> m a foldr1 :: (MonadFailure Foldr1Failure m) => (a -> a -> a) -> [a] -> m a foldl1 :: (MonadFailure Foldl1Failure m) => (a -> a -> a) -> [a] -> m a at :: (MonadFailure IndexFailure m) => [a] -> Int -> m a -- |
-- lookupJust key = fromJust . lookup key --lookup :: (Eq a, MonadFailure (LookupFailure a) m) => a -> [(a, b)] -> m b fromJust :: (MonadFailure FromJustFailure m) => Maybe a -> m a read :: (Read a, MonadFailure ReadFailure m) => String -> m a -- | def, use it to return a default value in the event of an -- error. -- -- E.g. you can define a version of tail which returns a default -- value when the list is empty -- --
-- tailDef defaultValue = def defaultValue . tail --def :: a -> Maybe a -> a -- | note, use it to fail with an annotated runtime error note :: (Exception e) => String -> Either e a -> a -- | Assert a value to be true. If true, returns the first value as a -- succss. Otherwise, returns the second value as a failure. assert :: (MonadFailure e m, Exception e) => Bool -> v -> e -> m v -- | The standard readFile function with any IOExceptions returned -- as a failure instead of a runtime exception. readFile :: (MonadFailure IOException m, MonadIO m) => FilePath -> m String data SafeException SafeException :: e -> SafeException data HeadFailure HeadFailure :: HeadFailure data TailFailure TailFailure :: TailFailure data InitFailure InitFailure :: InitFailure data LastFailure LastFailure :: LastFailure data MaximumFailure MaximumFailure :: MaximumFailure data MinimumFailure MinimumFailure :: MinimumFailure data Foldl1Failure Foldl1Failure :: Foldl1Failure data Foldr1Failure Foldr1Failure :: Foldr1Failure data IndexFailure IndexFailure :: Int -> IndexFailure data LookupFailure a LookupFailure :: a -> LookupFailure a data FromJustFailure FromJustFailure :: FromJustFailure data ReadFailure ReadFailure :: String -> ReadFailure instance Typeable1 LookupFailure instance Typeable ReadFailure instance Typeable IndexFailure instance Typeable FromJustFailure instance Typeable Foldl1Failure instance Typeable Foldr1Failure instance Typeable MaximumFailure instance Typeable MinimumFailure instance Typeable LastFailure instance Typeable HeadFailure instance Typeable InitFailure instance Typeable TailFailure instance Typeable SafeException instance (Show a) => Show (LookupFailure a) instance Show ReadFailure instance Show IndexFailure instance Show FromJustFailure instance Show Foldl1Failure instance Show Foldr1Failure instance Show MaximumFailure instance Show MinimumFailure instance Show LastFailure instance Show HeadFailure instance Show InitFailure instance Show TailFailure instance (Typeable a, Show a) => Throws (LookupFailure a) (Caught SafeException l) instance Throws ReadFailure (Caught SafeException l) instance Throws IndexFailure (Caught SafeException l) instance Throws FromJustFailure (Caught SafeException l) instance Throws Foldl1Failure (Caught SafeException l) instance Throws Foldr1Failure (Caught SafeException l) instance Throws MaximumFailure (Caught SafeException l) instance Throws MinimumFailure (Caught SafeException l) instance Throws LastFailure (Caught SafeException l) instance Throws InitFailure (Caught SafeException l) instance Throws HeadFailure (Caught SafeException l) instance Throws TailFailure (Caught SafeException l) instance (Typeable a, Show a) => Exception (LookupFailure a) instance Exception ReadFailure instance Exception IndexFailure instance Exception FromJustFailure instance Exception Foldl1Failure instance Exception Foldr1Failure instance Exception MaximumFailure instance Exception MinimumFailure instance Exception LastFailure instance Exception HeadFailure instance Exception InitFailure instance Exception TailFailure instance Exception SafeException instance Show SafeException