MissingH-0.18.6: Large utility libraryContentsIndex
Data.Either.Utils
Portabilityportable
Stabilityprovisional
MaintainerJohn Goerzen <jgoerzen@complete.org>
Description

Utilities for working with the Either data type

Copyright (c) 2004 John Goerzen, jgoerzen@complete.org

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
Documentation
maybeToEither
:: 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
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
Like forceEither, but can raise a specific message with the error.
eitherToMonadError :: MonadError e m => Either e a -> m a
Takes an either and transforms it into something of the more generic MonadError class.
Produced by Haddock version 0.8