:: Either a b -> b
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
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".
Given an
Either, convert it to a
Maybe, where
Left becomes
Nothing.
\x -> eitherToMaybe (Left x) == Nothing
\x -> eitherToMaybe (Right x) == Just x
Safe projection from
Right.
maybeRight (Right b) = Just b
maybeRight Left{} = Nothing
A
fromRight that fails in the
Maybe monad
Convert an
Either to a
Maybe.
A
Right value becomes
Just.
>>> eitherToMaybe $ Right 3
Just 3
A
Left value becomes
Nothing.
>>> eitherToMaybe $ Left "bye"
Nothing
Maps right part of
Either to
Maybe.
>>> rightToMaybe (Left True)
Nothing
>>> rightToMaybe (Right "aba")
Just "aba"
To prevent a dependency on package errors