Haskell Hierarchical Libraries (base package)ContentsIndex
Portability portable
Stability experimental
Maintainer libraries@haskell.org
The Either type, and associated operations.
data Either a b
= Left a
| Right b
either :: (a -> c) -> (b -> c) -> Either a b -> c
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").

Left a
Right b
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)
(Data a, Data b) => Data (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