Data.Semigroup.Applicative

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

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

Data.Semigroup.Applicative

Description

Semigroups for working with `Applicative` `Functor`s.

Synopsis

- newtype Traversal f = Traversal {
  - getTraversal :: f ()
  }
- newtype Ap f m = Ap {
  - getAp :: f m
  }

# Documentation

newtype Traversal f

A `Traversal` uses an glues together `Applicative` actions with (*>) in the manner of `traverse_` from Data.Foldable. Any values returned by reduced actions are discarded.

Constructors

Traversal |
Fields getTraversal :: f ()

Instances

Applicative f => Monoid (Traversal f) |
Applicative f => Semigroup (Traversal f) |
Applicative f => Reducer (f a) (Traversal f) |

newtype Ap f m

Constructors

Ap |
Fields getAp :: f m

Instances

Functor f => Functor (Ap f) |
Applicative f => Applicative (Ap f) |
(Applicative f, Reducer c m) => Reducer (f c) (Ap f m) |
(Applicative f, Monoid m) => Monoid (Ap f m) |
(Applicative f, Semigroup m) => Semigroup (Ap f m) |