Agda-2.3.2: A dependently typed functional programming language and proof assistant
Agda.Utils.Either
Description
Utilities for the Either type
Either
Synopsis
mapEither :: (a -> c) -> (b -> d) -> Either a b -> Either c dSource
Either is a bifunctor.
mapLeft :: (a -> c) -> Either a b -> Either c bSource
'Either _ b' is a functor.
mapRight :: (b -> d) -> Either a b -> Either a dSource
'Either a' is a functor.
isLeft :: Either a b -> BoolSource
Returns True iff the argument is Left x for some x.
True
Left x
Left
x
isRight :: Either a b -> BoolSource
Returns True iff the argument is Right x for some x.
Right x
Right
allRight :: [Either a b] -> Either [Either a b] [b]Source
Returns Right with tags stripped if all elements are to the right, and otherwise Left input:
Right with tags stripped
Left input
allRight xs == if all isRight xs then Right (map ((Right x) -> x) xs) else Left xs
tests :: IO BoolSource