BSD-3-Clause licensed by **Dennis Gosnell**

This version can be pinned in stack with:`from-sum-0.2.3.0@sha256:b2c64e1e2073f6cfb9b69a6205606042d9dcb3b2742a7d598f574ba62f5de4ad,1321`

#### Module documentation for 0.2.3.0

# Control.FromSum

This Haskell module exports the `fromEitherM`

and `fromMaybeM`

convenience
functions.

```
fromMaybeM :: m a -> Maybe a -> m a
fromEitherM :: (e -> m a) -> Either e a -> m a
```

`fromEitherM leftAction eitherValue`

is the same as `either leftAction pure eitherValue`

.

`fromMaybeM nothingAction maybeValue`

is the same as `maybe nothingAction pure maybeValue`

.

## Usage

```
>>> import Control.FromSum (fromEitherM, fromMaybeM)
>>> fromMaybeM [] $ Just 5
[5]
>>> fromMaybeM [] Nothing
[]
>>> fromEitherM (\s -> [length s]) $ Right 5
[5]
>>> fromEitherM (\s -> [length s]) $ Left "foo"
[3]
```

## 0.2.3.0

- Add functions
`collapseErrExceptT`

, `liftEitherExceptT`

,
`fromEitherExceptT`

, `fromEitherOrExceptT`

, `fromEitherMExceptT`

,
`fromEitherOrMExceptT`

, `fromMaybeExceptT`

, `fromMaybeOrExceptT`

,
`fromMaybeMExceptT`

, `fromMaybeOrMExceptT`

, `guardExceptT`

, and
`guardMExceptT`

. These functions help convert `Maybe`

, `Either`

, and
`Bool`

to `ExceptT`

. #2

## 0.2.2.0

- Added new functions maybeToEither, maybeToEitherOr, and eitherToMaybe for
converting between
`Maybe`

and `Either`

.
#1