:: Either a a -> a
Pull the value out of an
Either where both alternatives have
the same type.
\x -> fromEither (Left x ) == x
\x -> fromEither (Right x) == x
Take an Either, and return the value inside it
Get the a from an Either a a
Collapses a
Partial structure to a value (probably requiring
unsafe instances).
Extract the value from either side of an
Either.
Collapse an
Either a a to an
a. Defined as
fromEither id.
Note: Other libraries export this function as
fromEither, but
our
fromEither function is slightly more general.
>>> collapseEither (Right 3)
3
>>> collapseEither (Left "hello")
"hello"
The
fromLeft' function extracts the element out of a
Left and throws an error if its argument is
Right. Much
like
fromJust, using this function in polished code is
usually a bad idea.
\x -> fromLeft' (Left x) == x
\x -> fromLeft' (Right x) == undefined
The
fromRight' function extracts the element out of a
Right and throws an error if its argument is
Left. Much
like
fromJust, using this function in polished code is
usually a bad idea.
\x -> fromRight' (Right x) == x
\x -> fromRight' (Left x) == undefined
Extracts the element out of a
Left and throws an error if its
argument take the form
Right _.
Using
Control.Lens:
fromLeft' x ≡ x^?!_Left
>>> fromLeft' (Left 12)
12
Take a Left to a value, crashes on a Right
Extracts the element out of a
Left and throws an error if the
argument is a
Right.
The
fromLeft function extracts the element out of a
Left
and throws an error if its argument take the form
Right _.
fromLeft but with a better error message if it fails. Use
this only where it shouldn't fail!
Extracts the element out of a
Right and throws an error if its
argument take the form
Left _.
Using
Control.Lens:
fromRight' x ≡ x^?!_Right
>>> fromRight' (Right 12)
12
Take a Right to a value, crashes on a Left
Extracts the element out of a
Right and throws an error if the
argument is a
Left.
The
fromRight function extracts the element out of a
Right and throws an error if its argument take the form
Left _.
fromRight but with a better error message if it fails. Use
this only where it shouldn't fail!
Pulls a
Right value out of an Either value. If the Either value
is Left, raises an exception with "error".