base-4.0.0.0: Basic librariesContentsIndex
Data.Either
Portabilityportable
Stabilityexperimental
Maintainerlibraries@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
lefts :: [Either a b] -> [a]
rights :: [Either a b] -> [b]
partitionEithers :: [Either a b] -> ([a], [b])
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
show/hide Instances
Typeable2 Either
Functor (Either a)
(Eq a, Eq b) => Eq (Either a b)
(Data a, Data b) => Data (Either a b)
(Ord a, Ord b) => Ord (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.
lefts :: [Either a b] -> [a]
Extracts from a list of Either all the Left elements All the Left elements are extracted in order.
rights :: [Either a b] -> [b]
Extracts from a list of Either all the Right elements All the Right elements are extracted in order.
partitionEithers :: [Either a b] -> ([a], [b])
Partitions a list of Either into two lists All the Left elements are extracted, in order, to the first component of the output. Similarly the Right elements are extracted to the second component of the output.
Produced by Haddock version 2.3.0