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

Copyright(c) Edward Kmett 2009-2011
LicenseBSD-style
Maintainerekmett@gmail.com
Stabilityexperimental
Portabilitynon-portable (MPTCs)
Safe HaskellTrustworthy
LanguageHaskell98

Data.Semigroup.Apply

Description

Semigroups for working with Apply

Synopsis

Documentation

newtype Trav f Source

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

Constructors

Trav 

Fields

getTrav :: f ()
 

Instances

Apply f => Semigroup (Trav f) 
Apply f => Reducer (f a) (Trav f) 

newtype App f m Source

A App turns any Apply wrapped around a Semigroup into a Semigroup

Constructors

App 

Fields

getApp :: f m
 

Instances

Functor f => Functor (App f) 
Apply f => Apply (App f) 
(Apply f, Reducer c m) => Reducer (f c) (App f m) 
(Apply f, Semigroup m) => Semigroup (App f m)