Data.Semigroup.Alt

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.Alt

Description

A semigroup for working `Alt` or `Plus`

Synopsis

- newtype Alter f a = Alter {
  - getAlter :: f a
  }

# Documentation

newtype Alter f a #

A `Alter` turns any `Alt` instance into a `Semigroup`.

Constructors

Alter |
Fields getAlter :: f a

Instances

Functor f => Functor (Alter f) # |
Methods fmap :: (a -> b) -> Alter f a -> Alter f b # (<$) :: a -> Alter f b -> Alter f a #
Plus f => Plus (Alter f) # |
Methods zero :: Alter f a #
Alt f => Alt (Alter f) # |
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) # |
Methods unit :: f a -> Alter f a # snoc :: Alter f a -> f a -> Alter f a # cons :: f a -> Alter f a -> Alter f a #
Alt f => Semigroup (Alter f a) # |
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) # |
Methods mempty :: Alter f a # mappend :: Alter f a -> Alter f a -> Alter f a # mconcat :: [Alter f a] -> Alter f a #