Data.Semigroup.MonadPlus

reducers-3.12.1: Semigroups, specialized containers and a general map/reduce framework

Copyright | (c) Edward Kmett 2009-2011
License | BSD-style
Maintainer | ekmett@gmail.com
Stability | experimental
Portability | non-portable (MPTCs)
Safe Haskell | Trustworthy
Language | Haskell98

Data.Semigroup.MonadPlus

Description

A semigroup for working with instances of `MonadPlus`

Synopsis

- newtype MonadSum f a = MonadSum {
  - getMonadSum :: f a
  }

# Documentation

newtype MonadSum f a

A `MonadSum` turns any `MonadPlus` instance into a `Monoid`.

Constructors

MonadSum |
Fields getMonadSum :: f a

Instances

Monad f => Monad (MonadSum f) |
Functor f => Functor (MonadSum f) |
Applicative f => Applicative (MonadSum f) |
Alternative f => Alternative (MonadSum f) |
MonadPlus f => MonadPlus (MonadSum f) |
MonadPlus f => Reducer (f a) (MonadSum f a) |
MonadPlus f => Monoid (MonadSum f a) |
MonadPlus f => Semigroup (MonadSum f a) |