| Safe Haskell | Safe-Infered |
|---|
Control.Error.Safe
Description
This module extends the safe library's functions with corresponding
versions compatible with Either and EitherT.
All functions take an exceptional value to return should they fail.
I suffix the Either-compatible functions with Err and prefix the
EitherT-compatible functions with try.
Note that this library re-exports the Maybe compatible functions from
safe in the Control.Error module, so they are not provided here.
- tailErr :: e -> [a] -> Either e [a]
- initErr :: e -> [a] -> Either e [a]
- headErr :: e -> [a] -> Either e a
- lastErr :: e -> [a] -> Either e a
- minimumErr :: Ord a => e -> [a] -> Either e a
- maximumErr :: Ord a => e -> [a] -> Either e a
- foldr1Err :: e -> (a -> a -> a) -> [a] -> Either e a
- foldl1Err :: e -> (a -> a -> a) -> [a] -> Either e a
- foldl1Err' :: e -> (a -> a -> a) -> [a] -> Either e a
- atErr :: e -> [a] -> Int -> Either e a
- readErr :: Read a => e -> String -> Either e a
- assertErr :: e -> Bool -> a -> Either e a
- tryTail :: Monad m => e -> [a] -> EitherT e m [a]
- tryInit :: Monad m => e -> [a] -> EitherT e m [a]
- tryHead :: Monad m => e -> [a] -> EitherT e m a
- tryLast :: Monad m => e -> [a] -> EitherT e m a
- tryMinimum :: (Monad m, Ord a) => e -> [a] -> EitherT e m a
- tryMaximum :: (Monad m, Ord a) => e -> [a] -> EitherT e m a
- tryFoldr1 :: Monad m => e -> (a -> a -> a) -> [a] -> EitherT e m a
- tryFoldl1 :: Monad m => e -> (a -> a -> a) -> [a] -> EitherT e m a
- tryFoldl1' :: Monad m => e -> (a -> a -> a) -> [a] -> EitherT e m a
- tryAt :: Monad m => e -> [a] -> Int -> EitherT e m a
- tryRead :: (Monad m, Read a) => e -> String -> EitherT e m a
- tryAssert :: Monad m => e -> Bool -> a -> EitherT e m a
Either-compatible functions
foldl1Err' :: e -> (a -> a -> a) -> [a] -> Either e aSource
A foldl1' that fails in the Either monad
EitherT-compatible functions
tryMinimum :: (Monad m, Ord a) => e -> [a] -> EitherT e m aSource
tryMaximum :: (Monad m, Ord a) => e -> [a] -> EitherT e m aSource
tryFoldl1' :: Monad m => e -> (a -> a -> a) -> [a] -> EitherT e m aSource
A foldl1' that fails in the EitherT monad