reducers-3.12.3: 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

Instances
Apply f => Semigroup (Trav f) Source # 
Instance details

Defined in Data.Semigroup.Apply

Methods

(<>) :: Trav f -> Trav f -> Trav f #

sconcat :: NonEmpty (Trav f) -> Trav f #

stimes :: Integral b => b -> Trav f -> Trav f #

Apply f => Reducer (f a) (Trav f) Source # 
Instance details

Defined in Data.Semigroup.Apply

Methods

unit :: f a -> Trav f Source #

snoc :: Trav f -> f a -> Trav f Source #

cons :: f a -> Trav f -> Trav f Source #

newtype App f m Source #

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

Constructors

App 

Fields

Instances
Functor f => Functor (App f) Source # 
Instance details

Defined in Data.Semigroup.Apply

Methods

fmap :: (a -> b) -> App f a -> App f b #

(<$) :: a -> App f b -> App f a #

Apply f => Apply (App f) Source # 
Instance details

Defined in Data.Semigroup.Apply

Methods

(<.>) :: App f (a -> b) -> App f a -> App f b #

(.>) :: App f a -> App f b -> App f b #

(<.) :: App f a -> App f b -> App f a #

liftF2 :: (a -> b -> c) -> App f a -> App f b -> App f c #

(Apply f, Reducer c m) => Reducer (f c) (App f m) Source # 
Instance details

Defined in Data.Semigroup.Apply

Methods

unit :: f c -> App f m Source #

snoc :: App f m -> f c -> App f m Source #

cons :: f c -> App f m -> App f m Source #

(Apply f, Semigroup m) => Semigroup (App f m) Source # 
Instance details

Defined in Data.Semigroup.Apply

Methods

(<>) :: App f m -> App f m -> App f m #

sconcat :: NonEmpty (App f m) -> App f m #

stimes :: Integral b => b -> App f m -> App f m #