reducers-3.12.2: 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.Alt

Description

A semigroup for working Alt or Plus

Synopsis

Documentation

newtype Alter f a Source #

A Alter turns any Alt instance into a Semigroup.

Constructors

Alter 

Fields

Instances

Functor f => Functor (Alter f) Source # 

Methods

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

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

Plus f => Plus (Alter f) Source # 

Methods

zero :: Alter f a #

Alt f => Alt (Alter f) Source # 

Methods

(<!>) :: Alter f a -> Alter f a -> Alter f a #

some :: Applicative (Alter f) => Alter f a -> Alter f [a] #

many :: Applicative (Alter f) => Alter f a -> Alter f [a] #

Alt f => Reducer (f a) (Alter f a) Source # 

Methods

unit :: f a -> Alter f a Source #

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

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

Alt f => Semigroup (Alter f a) Source # 

Methods

(<>) :: Alter f a -> Alter f a -> Alter f a #

sconcat :: NonEmpty (Alter f a) -> Alter f a #

stimes :: Integral b => b -> Alter f a -> Alter f a #

Plus f => Monoid (Alter f a) Source # 

Methods

mempty :: Alter f a #

mappend :: Alter f a -> Alter f a -> Alter f a #

mconcat :: [Alter f a] -> Alter f a #