strict-0.1: Strict data typesContentsIndex
Data.Strict.Either
Portabilityportable
Stabilityexperimental
MaintainerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Description

Strict Either.

Same as the standard Haskell Either, but Left _|_ = Right _|_ = _|_

Synopsis
data Either a b
= Left !a
| Right !b
either :: (a -> c) -> (b -> c) -> Either a b -> c
isLeft :: Either a b -> Bool
isRight :: Either a b -> Bool
fromLeft :: Either a b -> a
fromRight :: Either a b -> b
Documentation
data Either a b
The strict choice type.
Constructors
Left !a
Right !b
show/hide Instances
Functor (Either a)
(Eq a, Eq b) => Eq (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: if the value is Left a, apply the first function to a; if it is Right b, apply the second function to b.
isLeft :: Either a b -> Bool
Yields True iff the argument is of the form Left _.
isRight :: Either a b -> Bool
Yields True iff the argument is of the form Right _.
fromLeft :: Either a b -> a
Extracts the element out of a Left and throws an error if the argument is a Right.
fromRight :: Either a b -> b
Extracts the element out of a Right and throws an error if the argument is a Left.
Produced by Haddock version 0.8