| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.Either.Extra
Description
This module extends Data.Either with extra operations, particularly
to quickly extract from inside an Either. Some of these operations are
partial, and should be used with care in production-quality code.
Synopsis
- module Data.Either
- fromLeft :: a -> Either a b -> a
- fromRight :: b -> Either a b -> b
- fromEither :: Either a a -> a
- fromLeft' :: Partial => Either l r -> l
- fromRight' :: Partial => Either l r -> r
- eitherToMaybe :: Either a b -> Maybe b
- maybeToEither :: a -> Maybe b -> Either a b
- mapLeft :: (a -> c) -> Either a b -> Either c b
- mapRight :: (b -> c) -> Either a b -> Either a c
Documentation
module Data.Either
fromLeft :: a -> Either a b -> a #
Return the contents of a Left-value or a default value otherwise.
Examples
Basic usage:
>>>fromLeft 1 (Left 3)3>>>fromLeft 1 (Right "foo")1
Since: base-4.10.0.0
fromRight :: b -> Either a b -> b #
Return the contents of a Right-value or a default value otherwise.
Examples
Basic usage:
>>>fromRight 1 (Right 3)3>>>fromRight 1 (Left "foo")1
Since: base-4.10.0.0
fromEither :: Either a a -> a Source #
Pull the value out of an Either where both alternatives
have the same type.
\x -> fromEither (Left x ) == x \x -> fromEither (Right x) == x
fromRight' :: Partial => Either l r -> r Source #
The fromRight' function extracts the element out of a Right and
throws an error if its argument is Left.
Much like fromJust, using this function in polished code is usually a bad idea.
\x -> fromRight' (Right x) == x \x -> fromRight' (Left x) == undefined
eitherToMaybe :: Either a b -> Maybe b Source #
maybeToEither :: a -> Maybe b -> Either a b Source #