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
lefts :: [Either a b] -> [a]
rights :: [Either a b] -> [b]
partitionEithers :: [Either a b] -> ([a], [b])
Documentation
 data Either a b Source

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
 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 Source
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] Source
Extracts from a list of Either all the Left elements All the Left elements are extracted in order.
 rights :: [Either a b] -> [b] Source
Extracts from a list of Either all the Right elements All the Right elements are extracted in order.
 partitionEithers :: [Either a b] -> ([a], [b]) Source
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.