| Copyright | Copyright (C) 2004-2011 John Goerzen | 
|---|---|
| License | BSD-3-Clause | 
| Stability | stable | 
| Portability | portable | 
| Safe Haskell | Safe | 
| Language | Haskell2010 | 
Data.Either.Utils
Description
Utilities for working with the Either data type
Synopsis
- maybeToEither :: MonadError e m => e -> Maybe a -> m a
 - forceEither :: Show e => Either e a -> a
 - forceEitherMsg :: Show e => String -> Either e a -> a
 - eitherToMonadError :: MonadError e m => Either e a -> m a
 - fromLeft :: Either a b -> a
 - fromRight :: Either a b -> b
 - fromEither :: Either a a -> a
 
Documentation
Arguments
| :: MonadError e m | |
| => e | (Left e) will be returned if the Maybe value is Nothing  | 
| -> Maybe a | (Right a) will be returned if this is (Just a)  | 
| -> m a | 
Converts a Maybe value to an Either value, using the supplied parameter as the Left value if the Maybe is Nothing.
This function can be interpreted as:
maybeToEither :: e -> Maybe a -> Either e a
Its definition is given as it is so that it can be used in the Error and related monads.
forceEither :: Show e => Either e a -> a Source #
Pulls a Right value out of an Either value. If the Either value is Left, raises an exception with "error".
forceEitherMsg :: Show e => String -> Either e a -> a Source #
Like forceEither, but can raise a specific message with the error. 
eitherToMonadError :: MonadError e m => Either e a -> m a Source #
Takes an either and transforms it into something of the more generic MonadError class.
fromEither :: Either a a -> a Source #
Take an Either, and return the value inside it