Agda-2.3.2.1: A dependently typed functional programming language and proof assistant

Safe HaskellNone

Agda.Utils.Either

Description

Utilities for the Either type

Synopsis

Documentation

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.

isRight :: Either a b -> BoolSource

Returns True iff the argument is Right x for some x.

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:

  allRight xs ==
    if all isRight xs then
      Right (map ((Right x) -> x) xs)
     else
      Left xs