Agda-2.3.2.1: 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