| Haskell Hierarchical Libraries (base package) | Contents | Index

Data.Either

Portability | portable
Stability | experimental
Maintainer | libraries@haskell.org

Description
The Either type, and associated operations.
Synopsis

data Either a b

= Left a
| Right b

either :: (a -> c) -> (b -> c) -> Either a b -> c

Documentation
data Either a b

The `Either` type represents values with two possibilities: a value of type ``Either` a b` is either ``Left` a` or ``Right` b`. The `Either` type is sometimes used to represent a value which is either correct or an error; by convention, the `Left` constructor is used to hold an error value and the `Right` constructor is used to hold a correct value (mnemonic: "right" also means "correct").
Constructors

Left a |
Right b |

Instances

Functor (Either e)
Error e => Monad (Either e)
Error e => MonadPlus (Either e)
Error e => MonadFix (Either e)
Error e => MonadError e (Either e)
(Eq a, Eq b) => Eq (Either a b)
(Ord a, Ord b) => Ord (Either a b)
(Typeable a, Typeable b) => Typeable (Either a b)
(Read a, Read b) => Read (Either a b)
(Show a, Show b) => Show (Either a b)

either :: (a -> c) -> (b -> c) -> Either a b -> c
Case analysis for the `Either` type. If the value is ``Left` a`, apply the first function to `a`; if it is ``Right` b`, apply the second function to `b`.
Produced by Haddock version 0.6