Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- data Exceptional x
- runExceptional :: Monad m => Exceptional x -> m x
- fromMaybe :: String -> Maybe a -> Exceptional a
- toMaybe :: Exceptional a -> Maybe a
- fromEither :: Either String a -> Exceptional a
- toEither :: Exceptional a -> Either String a
Documentation
data Exceptional x Source
This is basically specialized 'Either String', or Maybe
with error
messages.
Monad Exceptional Source | This is fail = Failure |
Functor Exceptional Source | |
Applicative Exceptional Source | |
Alternative Exceptional Source | |
Eq x => Eq (Exceptional x) Source | |
Read x => Read (Exceptional x) Source | |
Show x => Show (Exceptional x) Source |
runExceptional :: Monad m => Exceptional x -> m x Source
Convert Exceptional
into another Monad
. If you don't have proper
exception handling in your monad, this can throw errors.
runExceptional (Failure s) = fail s runExceptional (Success s) = pure s
fromMaybe :: String -> Maybe a -> Exceptional a Source
Convert a Maybe
to an Exceptional
fromMaybe s Nothing = fail s fromMaybe s (Just x) = pure x
toMaybe :: Exceptional a -> Maybe a Source
Convert an Exceptional
into a Maybe
. This function disregards
the error message.
toMaybe (Success x) = Just x toMaybe (Failure _) = Nothing
fromEither :: Either String a -> Exceptional a Source
Convert an Either
String
to an Exceptional
fromEither (Left s) = fail s fromEither (Right x) = pure x
toEither :: Exceptional a -> Either String a Source
Convert an Exceptional
to an Either
String
toEither (Failure s) = Left s toEither (Success x) = Right x