from-sum

Canonical fromMaybeM and fromEitherM functions.

https://github.com/cdepillabout/from-sum

Version on this page:0.2.0.0
LTS Haskell 22.19:0.2.3.0
Stackage Nightly 2024-04-27:0.2.3.0
Latest on Hackage:0.2.3.0

See all snapshots from-sum appears in

BSD-3-Clause licensed by Dennis Gosnell
Maintained by [email protected]
This version can be pinned in stack with:from-sum-0.2.0.0@sha256:316199c77c9374f105507488b90c47def9ff83308d4191645fcc6c20c7ca364c,1146

Module documentation for 0.2.0.0

Depends on 2 packages(full list with versions):

Control.FromSum

Build Status Hackage Stackage LTS Stackage Nightly

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]