Portability | GHC |
---|---|

Stability | experimental |

Maintainer | Simon Meier <iridcode@gmail.com> |

Safe Haskell | None |

The strict variant of the standard Haskell `Either`

type and the
corresponding variants of the functions from Data.Either.

Note that the strict `Either`

type is not an applicative functor, and
therefore also no monad. The reasons are the same as the ones for the
strict `Maybe`

type, which are explained in Data.Maybe.Strict.

- data Either a b
- isRight :: Either a b -> Bool
- isLeft :: Either a b -> Bool
- either :: (a -> c) -> (b -> c) -> Either a b -> c
- lefts :: [Either a b] -> [a]
- rights :: [Either a b] -> [b]
- partitionEithers :: [Either a b] -> ([a], [b])
- _Left :: Prism (Either a c) (Either b c) a b
- _Right :: Prism (Either c a) (Either c b) a b

# Documentation

data Either a b

The strict choice type.

Typeable2 Either | |

Bitraversable Either | |

Bifunctor Either | |

Bifoldable Either | |

Swapped Either | |

Functor (Either a) | |

Foldable (Either e) | |

Traversable (Either e) | |

(Eq a, Eq b) => Eq (Either a b) | |

(Data a, Data b) => Data (Either a b) | |

(Ord a, Ord b) => Ord (Either a b) | |

(Read a, Read b) => Read (Either a b) | |

(Show a, Show b) => Show (Either a b) | |

Generic (Either a b) | |

(Arbitrary a, Arbitrary b) => Arbitrary (Either a b) | |

(ToJSON a, ToJSON b) => ToJSON (Either a b) | |

(FromJSON a, FromJSON b) => FromJSON (Either a b) | |

(Binary a, Binary b) => Binary (Either a b) | |

(NFData a, NFData b) => NFData (Either a b) | |

Strict (Either a b) (Either a b) |

lefts :: [Either a b] -> [a]Source

Analogous to `lefts`

in Data.Either.

rights :: [Either a b] -> [b]Source

Analogous to `rights`

in Data.Either.

partitionEithers :: [Either a b] -> ([a], [b])Source

Analogous to `partitionEithers`

in Data.Either.